Маршрутизация / перезапись URL и совместимость с Nginx / Lighttpd - PullRequest
1 голос
/ 04 октября 2011

Я пишу простой код маршрутизации URL, основанный на использовании mod_rewrite для передачи URI в качестве параметра GET, как это делает Drupal. Итак, у меня есть правило:

RewriteRule ^(.*)$ index.php?q=$1 [QSA,L]

И URL http://www.example.com/test/1 даст мне "/ test / 1 /", переданное как значение $ _GET ['q'], вместо обычного index.php / test / 1 и необходимости извлечь его из $ _SERVER [ 'REQUEST_URI'].

Дело в том, что флаг QSA mod_rewrite позволяет мне по-прежнему нормально использовать строки запросов, что я считаю очень полезным для таких параметров, как фильтры и нумерация страниц, например "/ products / category /? Pg = 1".

Будет ли это работать одинаково на серверах Nginx и Lighttpd? Я бы хотел, чтобы мой код был переносимым.

Спасибо.

1 Ответ

1 голос
/ 04 октября 2011

Нет, в любом случае вам придется переводить свои правила в специфический синтаксис каждого сервера.Некоторые ссылки для начала работы:

...