.htaccess 如何通过htaccess从URL中删除特殊字符?
我有一个URL.htaccess 如何通过htaccess从URL中删除特殊字符?,.htaccess,redirect,url-rewriting,url-redirection,.htaccess,Redirect,Url Rewriting,Url Redirection,我有一个URLhttps://link.de/sub/directory/•(即结尾处的%E2%80%A2)应重定向到https://link.de/sub/directory/,因此我需要去掉末尾的字符 我试图通过重定向匹配来解决它: 重定向匹配301^目录。*$https://link.de/sub/directory/ 但我仍然会在最后得到•,这是一个不存在的URL,并产生一个错误 我如何从URL中删除它并重定向到没有它的URL?我真的看不出这里的问题。。。您可以简单地“忽略”前缀后面的任
https://link.de/sub/directory/•
(即结尾处的%E2%80%A2
)应重定向到https://link.de/sub/directory/
,因此我需要去掉末尾的字符
我试图通过重定向匹配来解决它:
重定向匹配301^目录。*$https://link.de/sub/directory/
但我仍然会在最后得到•
,这是一个不存在的URL,并产生一个错误
我如何从URL中删除它并重定向到没有它的URL?我真的看不出这里的问题。。。您可以简单地“忽略”前缀后面的任何内容:
RewriteEngine on
RewriteRule ^/?sub/directory/ https://example.com/sub/folder/ [R=301,L]
还有一个一般提示:您应该始终希望将这些规则放在http服务器主机配置中,而不是使用
.htaccess
样式的文件。这些文件是出了名的容易出错,难以调试,而且它们确实降低了服务器的速度。只有在您无法控制主机配置的情况下(阅读:非常便宜的主机服务提供商),或者如果您的应用程序依赖于编写自己的重写规则(这显然是一个安全噩梦),才提供它们作为最后一个选项。将我的评论转换为答案
您可以在站点根目录中使用此RedirectMatch
规则。htaccess:
RedirectMatch 301 ^/(sub/directory/).+$ /$1
对不起,
directory
所有…好的,试试看:RedirectMatch 301^/(sub/directory/)。+$/$1
@anubhava介意把这个作为答案吗?它起作用了。