Как .htaccess перенаправить этот URL со строкой запроса? - PullRequest
1 голос
/ 01 мая 2011

При использовании плагина поддержки WordPress я получил URL-адрес строки запроса, который мне теперь нужно перенаправить в root, когда сайт начнет работать.

http://mydomain.com/maintenance/?req=http%3A%2F%mydomain.com%2F

Что будет перенаправлять этот URL просто http://mydomain.com?

Я пробовал оба из них:

Redirect 301 "http://mydomain.com/maintenance/?req=http://mydomain.com/" http://mydomain.com

Redirect 301 "http://mydomain.com/maintenance/?req=http%3A%2F%mydomain.com%2f" http://mydomain.com

Ответы [ 2 ]

2 голосов
/ 02 мая 2011

Поместите эти строки в ваш файл .htaccess:

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{QUERY_STRING} req=http%3A%2F%2F(.+)%2F [OR] 
RewriteCond %{QUERY_STRING} req=http://([^&]+)(&|$) [NC]
RewriteRule ^maintenance/?$ http://%1? [L,R,NC,NE]
0 голосов
/ 02 мая 2011

Redirect работает только с путем URL.Вам нужно использовать реальный mod_rewrite , чтобы посмотреть на запрос:

RewriteEngine on
RewriteCond %{QUERY_STRING} =req=http://example.com/
RewriteRule ^maintenance/$ /? [L,R=301]
...