使用mod_rewrite更改带冒号的页面

时间:2011-05-01 08:13:29

标签: regex .htaccess mod-rewrite

通过检查我的错误日志,我发现我有http://site.com/javascript:;;

的链接

我想使用mod_rewrite规则将用户重定向到主页。 我尝试了以下所有方法:

RewriteCond %{THE_REQUEST} /javascript: [NC,OR]
RewriteCond %{THE_REQUEST} /javascript%3a [NC,OR]
RewriteCond %{THE_REQUEST} /javascript\%3a [NC,OR]
RewriteCond %{THE_REQUEST} /javascript%%3a [NC,OR]
RewriteCond %{REQUEST_URI} /javascript: [NC,OR]
RewriteCond %{REQUEST_URI} /javascript%3a [NC,OR]
RewriteCond %{REQUEST_URI} /javascript\%3a [NC,OR]
RewriteCond %{REQUEST_URI} /javascript%%3a [NC]
RewriteRule ^.*$ http://%{HTTP_HOST}/ [L,R=301]

但这些病症都没有结肠。

由于

2 个答案:

答案 0 :(得分:0)

好的,对不起。看来我的本地服务器有一些配置错误。 在我的生产服务器上,这有效:

RewriteCond %{THE_REQUEST} /javascript:;; [NC]
RewriteRule ^.*$ http://%{HTTP_HOST}/ [L,R=301]

pppfffff。花了我一些时间。 :)

答案 1 :(得分:0)

不需要RewriteCond。您可以这样简化:

RewriteRule javascript:;; http://%{HTTP_HOST}/? [NC,L,R=301]