2015-02-23 3 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

+0

ok попробуйте мой обновленный ответ – anubhava

+0

Я пробовал в разных вариантах и ​​вариантах, с целью на пустой странице или на той же странице, он не хочет работать, и я не могу понять, почему :(Спасибо за помощь, я узнал некоторые по крайней мере. – user1829621

Смежные вопросы