Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Вопрос по RewriteRule
цитата
30/03/16 в 20:59
 SixFingers
RewriteRule . /? [R=301,L]

Почему конструкция не работает, если сразу после домена (со слешом), идет знак вопроса? Но при этом работает если вопрос есть в теле урла (но нету в начале).
цитата
30/03/16 в 21:38
 Ailk
потому что вопрос в регулярке зарезервирован и его надо экранировать обратным слешем.
как-то так:
Код:
RewriteRule /\? / [R=301,L]
цитата
31/03/16 в 10:36
 SixFingers
Правило редиректит всё на главную. Хотелось бы понять, почему игнорируется, когда знак вопроса в начале урла?

Ailk: правило не может начинаться со слеша. К тому же на другие символы ему по барабану без экранирования.
цитата
31/03/16 в 13:22
 Ailk
Должно работать.
Код:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{QUERY_STRING} ^(.+)$ [NC]
RewriteRule (.*) http://%{HTTP_HOST}/? [R=301,L]

тест урла тут:
http://htaccess.mwl.be/


Эта страница в полной версии