htaccess URL переписать с вопросительным знаком - PullRequest
1 голос
/ 13 февраля 2012

У меня проблема с .htaccess, особенно с перенаправлением.

Я хотел переписать этот URL:

http://www.domain.com/?mod=country

до

http://www.domain.com/country

Я уже пробовал этот .htaccess код:

RewriteEngine on
RewriteRule ^\?mod=(.*)$ $1

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

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

1 Ответ

3 голосов
/ 13 февраля 2012

Непосредственный перевод ваших требований для переписывания правил:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^mod=(.*)$
RewriteRule ^$ %1

Но вы, вероятно, хотите что-то более гибкое:

RewriteEngine On
RewriteCond %{QUERY_STRING} (?:^|&)mod=([^&]+)
RewriteRule /?(.*) %1/$1 [QSA]

Эти правила применяются к корню вашего домена.

Если вы хотите выполнить внешнее перенаправление, добавьте флаг R в правило перезаписи.

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