2014-03-18 80 views
1

我有一個外部反向鏈接,這是不正確地鏈接到我的網站。htaccess重定向編碼的網址到主頁

它們將/%E2%80%8E添加到鏈接的末尾,因此它以http://mywebsite.com/%E2%80%8E進入。

我想使用htaccess將這些人重定向到我的主頁。

這是我目前有:

#This version does not work for some reason 
RewriteRule %E2%80%8E https://mysite.com [B,R,L] 
RewriteCond %{QUERY_STRING} %E2%80%8E 
RewriteRule .? https://mysite.com [B,R,L] 

# This version works if I type in the DECODED version of the string 
RewriteRule ‎ https://mysite.com [R,L] 
RewriteCond %{QUERY_STRING} ‎ 
RewriteRule .? https://mysite.com [R,L] 

感謝

回答

2

如果你不想使用解碼的字符串,你可以使用\x##。解碼後的字符串工作的原因是RewriteRule的URI是解碼應用模式之前。

RewriteRule ^\xE2\x80\x8E$/[L,R=301] 
+0

完美而簡單,歡呼! – Josh

0

給這個在你的htaccess一試。

RewriteEngine On 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/%E2%80%8E\s [NC] 
RewriteRule^https://mysite.com/ [L,R=301] 
0

您可以在不使用.htaccess重寫的情況下解決此問題。在我的一些網站上,我會檢查頁面頭部(使用PHP或JS)還是使用自定義404頁面。

在我看來,這個方法比mod重寫略好,因爲它不需要你在服務器上啓用mod_rewrite模塊。

相關問題