2015-02-23 85 views
0

我有一個www.example.com/page.html頁面,其鏈接位於空白頁面www.example.com/folder/link.php?id= 123456重定向.htacess取決於引用者

出於特定原因,當我在同一頁面上但使用其他語言時(頁面將像www.example.com/page_ro.html),我無法更改此鏈接並需要使用重寫條件來執行改變同一個鏈接。

假設我需要鏈接在這種情況下變爲www.example.com/folder/link.php?id=78910。

在這種情況下我該怎麼做?我試過這個沒有成功:

RewriteEngine On 
Options +FollowSymLinks 
RewriteCond %{HTTP_REFERER} . 
RewriteCond %{HTTP_REFERER} ^http://www\.example\.com/page_ro.html [NC] 
RewriteCond %(REQUEST_URI) folder/link\.php?id=123456$ [NC] 
RewriteRule ^(.*) http://www.example.com/link.php?id=78910 [L] 

回答

0

您無法使用REQUEST_URI變量匹配查詢字符串。使用QUERY_STRING而不是像這裏面/folder/.htaccess

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase /folder/ 

RewriteCond %{HTTP_REFERER} ^http://www\.example\.com/page_ro.html [NC] 
RewriteCond %(QUERY_STRING) ^id=123456 [NC] 
RewriteRule ^(link\.php)$ $1?id=78910 [NC,L,R=302] 
+0

感謝喜的幫助,非常感謝。你的代碼似乎更好但不起作用。沒有觀察到重定向。我測試了它,它說這個變量不被支持:%(THE_REQUEST)。也許查詢字符串的條件可以做到這一點,你的想法是什麼? – user1829621 2015-02-23 14:29:56

+0

好吧現在嘗試我更新的答案 – anubhava 2015-02-23 14:35:13

+0

我嘗試了很多不同的選項和變體,目標在空白頁面或同一頁面,它不想工作,我不知道爲什麼:(感謝幫助,我學到了一些東西至少 – user1829621 2015-02-23 15:13:08