2014-12-16 7 views
0

Я использовал код .htaccess в Generic htaccess redirect www to non-www, чтобы успешно перенаправить www.mysite.com на mysite.com, однако в процессе он удаляет параметр gclid и теперь AdWords неправильно подсчитывает клики.Redirect www to non-www теряет код отслеживания Google gclid

Можно ли изменить код ниже, чтобы сохранить параметры после перенаправления?

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 
+0

Где этот параметр? часть строки запроса? Если это так, он автоматически добавляется после перенаправления. –

+0

. Каков исходный URL-адрес и на что он перенаправлен? – anubhava

ответ

0

От: https://wiki.apache.org/httpd/RewriteFlags/QSA

QSA = Строка запроса Append.

Это правило добавляет строку запроса GET, которая получается из правила ReWrite, в исходную строку запроса GET, отправленную браузером. Например, возьмем следующую RewriteRule:

RewriteRule ^/product/([0-9]*)/?  /product.php?product_id=$1 [QSA] 

Это просто делает номер PRODUCT_ID выглядеть как каталог для пользователя. Теперь скажите, что у меня есть два разных вида страницы, view = short и view = long. По какой-то причине я не хочу, чтобы эти представления выглядели как каталоги с помощью RewriteRule. Поэтому я хочу иметь возможность делать такие вещи, как:

http://example.com/product/1351283/?view=short 

Давайте посмотрим, как работает QSA. С QSA, мой последний переписанный URL является

http://example.com/product.php?product_id=1351283&view=short 

QSA вызвала RewriteEngine, чтобы добавить существующую строку запроса (вид = короткий) к новой строке запроса (product_id = 1351283). Без QSA, существующая строка запроса просто заменяются новой строка запроса:

http://example.com/product.php?product_id=1351283 

Если вы много сценариев с опорой на GET переменных, это практически необходимо, чтобы включить флаг QSA на все ваши RewriteRules.

+2

Все это хорошо и хорошо, но если строка запроса не включена в исходную переписывание, вся партия будет передана вместе с перенаправлением в любом случае. Это полезно только при добавлении * параметров строки запроса и сохранении исходных. – arco444