.htaccess重写以截断常见错误的链接?

时间:2014-04-10 23:12:52

标签: .htaccess

每个试图从大型网站搜索error_log文件的人都会收到很多像这样的链接,因为有人在第三方网站或博客中搞砸了一些HTML ...

File does not exist: /var/www/vhosts/mydomain.com/httpdocs/materias/137.html'http://...
File does not exist: /var/www/vhosts/mydomain.com/httpdocs/materias/137.html http://...
File does not exist: /var/www/vhosts/mydomain.com/httpdocs/materias/137.html/mydomain...

问题是.html后的一些额外的字符...

在每种情况下很容易猜到正确的网址...我们只需截断“.html”之后的网址。

是否可以使用.htaccess将这些有问题的网址重写为正确的语法?

在...之后删除所有内容。

HTML?并避免搞乱动态网址中的网址查询?

这就是我想做的事情......

".html "替换为".html#"

".html'"替换为".html#"

".html/"替换为".html#"

因为#之后的所有内容都会被忽略......

用.htaccess做任何简单的方法吗?

2 个答案:

答案 0 :(得分:0)

只需使用正则表达式:

RewriteRule ^(.*)\.html(.*)$    $1.html

答案 1 :(得分:0)

RedirectMatch规则应该有效:

RedirectMatch 301 ^(.+?\.html).+$ $1