URL не переписывается в .htaccess, когда присутствует index.html - PullRequest
0 голосов
/ 04 августа 2011

Вот часть переписываемого файла .htaccess:

RewriteCond %{QUERY_STRING} ^pid=directions_to_business$  
RewriteRule ^$ directions? [NC,R=301,L]

По сути, http://www.mybusiness.com/?pid=directions_to_business следует перенаправить на http://www.mybusiness.com/directions. Однако, когда этот URL задан: http://www.mybusiness.com/index.html?pid=directions_to_business, URL не перенаправлен.

Я использую приложение Rails, если это что-то меняет.

1 Ответ

0 голосов
/ 04 августа 2011

Ваш код,

RewriteRule ^$ directions? [NC,R=301,L]

Соответствует только пустому запросу, то есть корню (строки запроса не используются для RewriteRule). Вы хотите это:

RewriteRule ^.*$ directions [NC,R=301,L,QSA]

Который также перенаправит вашу строку запроса (QSA), если вы хотите, чтобы http://www.mybusiness.com/?pid=directions_to_business&from=... перешел на http://www.mybusiness.com/directions?from=....

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