Я читал везде, что шаблон подстановки в Apache, Rewrite Engine работает, как ожидалось для регулярных выражений, так что я пробовал:
.htaccess:
RewriteRule (.*) index.php?route=$1
Но для запроса на domain.com/some/url
в ГЭТ вар маршрута я index.php
вместо some/url
В HTTP вар REDIRECT_QUERY_STRING
я получаю route=some/url
Но в QUERY_STRING
я route=index.php
Что может быть не так?
PS: $0
также возвращает index.php
Если я использую RewriteRule . index.php?route=$1
, я получаю маршрут = i
, независимо от запроса URL.
Спасибо! Я получаю использование для [L, QSA], но как насчет RewriteConds? они для этой конкретной проблемы? Поскольку я действительно хочу, чтобы даже если запросы соответствовали существующим именам файлов или каталогов, они по-прежнему будут направлены на index.php – Petruza
ok в моем обновленном ответе, чтобы переписать все файлы/каталоги. – anubhava
Спасибо, но только добавление флагов заставило его работать, даже без исключения 'index.php' либо с Условиями, либо с регулярным выражением – Petruza