Сведения о вопросе

Faridun

15:45, 29th August, 2020

Как правильно настроить mod_rewrite?

Просмотров: 364   Ответов: 1

Суть понятна: нужно привести все запросы к сайту вида /path/to/file.html в файл index.php с соответствующими GET-параметрами. В сети видел несколько вариантов решения, но не уверен, что использую правильный (например, не получается посмотреть карту кликов яндекс метрики из-за её гет-параметров)


Вот, что я использую:

RewriteRule ^([^/]*)\.html$ /index.php?query=$1 [L]

RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?query=$1&id=$2 [L]

RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ /index.php?query=$1&id=$2microid=$3 [L]


Как сделать лучше?



  Сведения об ответе

$DOLLAR

12:23, 1st August, 2020

Я бы на вашем месте сделал по-другому.
Парсил бы строку URI не в htaccess, а в index.php. А все запросы к несуществующим файлам передавал бы неизменными на index.php. Так делают во всех фреймворках сейчас. Тогда и _GET параметры все останутся, если надо. Пример htaccess (смотрите на последние три условия):
github.com/kohana/kohana/blob/3.0.x/example.htaccess
Потом его можно узнать в скрипте примерно так:
github.com/kohana/core/blob/3.0.x/classes/kohana/request.php#L239
и распарсить уже как надо на свои query, id и microid.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться