Перезапись URL с помощью? условное обозначение - PullRequest
0 голосов
/ 04 января 2011

Я пытаюсь переписать URL, который имеет эту форму:

website.com /? Д = дом

к этой форме:

website.com / дом

Я не могу найти.

Я пробовал эту форму, например: RewriteRule ^ \? Q \ = home $ / home [R = 301, L]

Похоже на "?" или "=" ставят проблему? Вы можете мне помочь?

Спасибо

1 Ответ

1 голос
/ 04 января 2011

Все, что после ? находится в переменной %{QUERY_STRING}.

Чтобы перезаписать только значение home, используйте:

RewriteCond %{QUERY_STRING} ^q=home$
RewriteRule ^ /home? [L,R=301]

Чтобы переписать все q значения встатические URI используют:

RewriteCond %{QUERY_STRING} ^q=(.*)$
RewriteRule ^ /%1? [L,R=301]

Последний?в RewriteRule удаляет строку запроса из целевого URI.

Ссылка: Apache mod_rewrite

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