Перенаправление на новый домен и добавление переменной в адрес с помощью htaccess - PullRequest
0 голосов
/ 11 марта 2011

Я хотел бы перенаправить своих пользователей из старого домена в новый, используя htaccess, но также добавить переменную в адрес, чтобы указать, что они приходят из старого домена,

вот пример

http://old.com/index.php?var1=3  ==>  http://new.com/index.php?var1=3&comingFromOld=1
http://old.com/index.php  ==>  http://new.com/index.php?comingFromOld=1

любая помощь очень ценится

1 Ответ

1 голос
/ 12 марта 2011

Хорошо, поэтому обычное базовое перенаправление со старых на новые домены будет выглядеть примерно так:

RewriteCond %{HTTP_HOST} ^old\.com$ [NC]
RewriteRule ^(.*)$ http://new.com/$1 [R=301,L]  

Чтобы добавить в этот дополнительный URL-переменные, есть два случая, которые мы хотим рассмотреть. Во-первых, на некоторых страницах уже есть переменные URL-адреса, и в этом случае мы просто хотим добавить & comingFromOld = 1. Во-вторых, на некоторых страницах не будет переменных URL-адресов, и в этом случае мы хотим добавить с помощью?

Вы ожидаете, что для этого могут потребоваться либо два набора правил, либо одно сложное регулярное выражение, чтобы учесть оба случая. К счастью, есть хороший флаг, который мы можем использовать, QSA, который добавит исходную строку запроса (если она существует). Я думаю, что это должно охватить вас.

RewriteCond %{HTTP_HOST} ^old\.com$ [NC]
RewriteRule ^(.*)$ http://new.com/$1?comingFromOld=1  [QSA,R=301,L]

Таким образом, вы либо получите URL-адреса, такие как http://new.com/index.php?comingFromOld=1 или http://new.com/index.php?comingFromOld=1&var1=3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...