Используйте mod_rewrite, сохраняя "?" - PullRequest
1 голос
/ 22 февраля 2011


Я трачу здесь часы на .htaccess, чтобы сделать эти красивые URL-адреса возможными и зашел в тупик. Вот что у меня сработало в прошлом:

RewriteRule ^(.*)\?*$ app.php?_target=$1 [L]

Теперь я хотел бы расширить это правило для поддержки URL-адресов, таких как:

http://mydomain.com/articles/regex-cheatsheet/?sortby=expression&order=asc&filter=numeric

Вот хорошее объяснение , почему я хотел бы сделать это. Теперь мое правило выглядит так:

RewriteRule ^(.*)\?(.*)$ app.php?_target=$1&$2 [L]

Я проверил это выражение , так как я не эксперт по RegEx и, похоже, все в порядке. Но, конечно, это не работает: /

Так кто-нибудь знает, что я делаю не так?

1 Ответ

6 голосов
/ 22 февраля 2011

Используйте флаг QSA (Query String Append):

RewriteRule (.*) app.php?_target=$1 [L,QSA]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...