2012-08-27 46 views
1

这里有很多关于使用htaccess重定向的帖子,但我无法为我找到一个。使用.htaccess重定向网址(多个特殊字符)

我想将下面的url重定向到404页面。但由于其中的特殊字符,我面临着问题。

我想要下面的网址到我的404页面。

http://www.site1.com/i.php?id=303&vis=1&url=http://www.site2.com http://www.site1.com/cgi-bin/a2/out.cgi?id=49 & U = HTTP://www.site 2.com

http://www.site1.com/404

任何人都可以点亮一些光线吗?

+0

请发表你的努力 – Oussama

+0

我曾尝试下面的一个一些代码,但没有效果 的RewriteCond%{HTTP_REFERER}^HTTP://(WWW \)SITE1 。\ com/i \ .php?id = 303&vis = 1&url = http:// www \ .site2。\ com/[NC] RewriteRule。* http://www.site1.com/404 [R,L] – user1627496

回答

0

尝试下列规则:

RewriteEngine on 

RewriteCond %{QUERY_STRING} ^id=303&vis=1&url=http://www\.site2\.com$ 
RewriteRule ^i\.php$ /404? [L,R=404] 

RewriteCond %{QUERY_STRING} ^id=49&u=http://www\.site2\.com$ 
RewriteRule ^cgi-bin/a2/out\.cgi$ /404? [L,R=404] 
+0

我现在正在整个站点上发生内部服务器错误 – user1627496

+0

看来R = 404导致了国际服务器错误,您必须将其更改为R = 302,然后在您的404错误页面中生成404头响应 – Oussama

+1

R = 4XX仅支持开始与Apache 2.X –