Apache - вопрос mod_rewrite RewriteRule - PullRequest
0 голосов
/ 09 октября 2008

У меня есть несколько проблем с моими правилами mod_rewrite. Есть три различных шаблона URL, которые я хочу обработать.

  1. http://example.com/%module%/%view%-%args%.html
  2. http://example.com/%module%/%view%.html
  3. http://example.com/%module%

Следующие правила mod_rewrite на самом деле не работают . Также у меня проблема в том, что запрос (пример: user.html? Foo = bar) не имеет эффекта.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^([0-9A-Za-z_-]*)/?([0-9A-Za-z_]+)-?([0-9A-Za-z_,]*)\.html$ index.php?__module=$1&__view=$2&__argv=$3

    RewriteRule ^([0-9A-Za-z_-]*)/?$ index.php?__module=$1&__view=&__argv=
</IfModule>

1 Ответ

3 голосов
/ 09 октября 2008

Для строки запроса пометьте свои правила с помощью QSA (Query String Append).

То, что вы пытаетесь настроить, называется «фронт-контроллер», из которого уже достаточно много готовых. Возможно, вам стоит взглянуть на некоторые популярные PHP-фреймворки и выбрать ту, которая подходит вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...