如何通过htaccess从URL中删除特殊字符?

时间:2016-12-22 11:40:40

标签: .htaccess redirect url-rewriting url-redirection

我有一个网址https://link.de/sub/directory/•(最后是%E2%80%A2)应该重定向到https://link.de/sub/directory/,因此我需要在最后删除该字符。

我试图用RedirectMatch

来解决它

RedirectMatch 301 ^directory.*$ https://link.de/sub/directory/

但我仍然在最后得到 - 这是一个不存在的网址并产生错误。

如何从URL中删除它并在没有它的情况下重定向到URL?

2 个答案:

答案 0 :(得分:1)

翻译我的评论以回答。

您可以在站点根目录中使用此RedirectMatch规则.htaccess:

RedirectMatch 301 ^/(sub/directory/).+$ /$1

答案 1 :(得分:0)

我真的没有在这里看到这个问题......你可以简单地忽略"您感兴趣的前缀后面的任何内容:

RewriteEngine on
RewriteRule ^/?sub/directory/ https://example.com/sub/folder/ [R=301,L]

一般提示:您应该始终更喜欢将此类规则放在http服务器主机配置中,而不是使用.htaccess样式文件。这些文件非常容易出错,难以调试,它们确实会降低服务器的速度。它们仅作为最后一个选项提供给您无法控制主机配置的情况(阅读:非常便宜的托管服务提供商),或者您有一个依赖于编写自己的重写规则的应用程序(这是一个明显的安全噩梦) )。