2012-08-27 100 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 –