2012-06-13 3 views
1

Моего правила выглядит следующим образом:.htaccess 301 редиректа, что исключает подстраницы

RewriteRule ^page-parent.*$ http://www.domain.com/new-page/?%{QUERY_STRING} [R=301,L] 

Моей проблема заключается в том, что есть страница/страница родитель/спасибо, что я не хочу быть перенаправление.

Я также передаю строку запроса так, чтобы с ней столкнулась любая строка с номером gclid =.

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

Любая помощь приветствуется.

ответ

0

Вы можете использовать mod_rewrite создать условие:

RewriteCond %{REQUEST_URI} !^/page-parent/thanks 
RewriteRule ^page-parent.*$ http://www.domain.com/new-page/ [R=301,L] 

Обратите внимание, что вы можете оставить вне ?%{QUERY_STRING} от вашей цели, поскольку строки запроса добавляются к цели по умолчанию, если не будет добавлен новый Params с помощью a ?.

1

Вы можете проверить с помощью RewriteCond, если запрашиваемая страница - это страница, которую вы хотите исключить.

RewriteCond %{REQUEST_URI} !^/page-parent/thanks 
RewriteRule ^page-parent.*$ http://www.domain.com/new-page/ [R=301,L,QSA] 

Убедитесь, что вы очищаете кеш браузера при повторном запуске, так как 301-перенаправление кэшируется.

Примечание: Вам не нужно добавлять строку запроса вручную.

+0

Джон Лин избил вас, как 30 секунд – eteich

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