перенаправление URL с вопросительным знаком - PullRequest
0 голосов
/ 22 марта 2012

Я хочу перенаправить: http://www.mydomain.com/myfolder/?5/my-page чтобы: http://www.mydomain.com/myfolder/?5/page

простое перенаправление в .htaccess не работает:

Redirect 301 /myfolder/?5/my-page http://www.mydomain.com/myfolder/?5/page

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

 RewriteCond %{QUERY_STRING} ^my-page
 RewriteRule ^my-page http://www.mydomain.com/myfolder/?5/page [L,R=301]

Что тоже совершенно не работает. Я думаю, что я не смогу решить это сам, и хотел бы спросить, может ли кто-то еще привести меня на лучший путь?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 23 марта 2012

Строка запроса: все после?так что это будет 5/my-page, а не my-page в этом примере, поэтому директива перезаписи, которая соответствует вашему URI, будет:

RewriteEngine On
RewriteBase   /
RewriteCond %{QUERY_STRING} ^5/my-page$
RewriteRule ^myfolder/$ myfolder/?5/page? [L,R=301]

Вам нужно ? в шаблоне замены, потому что двигатель будетдобавить существующую строку запроса без этого.

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