Перепишите изменяющий URL - PullRequest
0 голосов
/ 03 июня 2011

Я хотел бы использовать apaches mod_rewrite, чтобы переписать мои URL.Обычно, что я мог бы сделать это, но я думаю, что это особый случай.Содержимое на странице зависит от параметров URL, но также может изменять эти параметры и, таким образом, получать новое содержимое без обновления .Однако одни и те же параметры всегда будут давать один и тот же результат.

Мой URL в настоящее время выглядит следующим образом:

http://example.com/#?div1=1&div2=5

Я хотел бы иметь возможность использовать аккуратный, чистый URL, например http://example.com/nameofarticle. Предотвращает ли использование mod_rewrite изменение параметра, который «скрыт» под таким URL?И если нет, то как я могу использовать mod_rewrite, чтобы позволить мне продолжать работать таким образом?

Заранее спасибо!

1 Ответ

0 голосов
/ 03 июня 2011

Я думаю, вам нужен RewriteCond %{QUERY_STRING} перед вашим RewriteRule. Что-то вроде:

RewriteCond %{QUERY_STRING} div1=(.*)&

Затем вы можете получить доступ к значениям в скобках в RewriteRule с помощью %1 ... Так же, как вы использовали бы $1 для значений в скобках в самом RewriteRule.

Вы также можете захотеть посмотреть на флаг RewriteRule [QSA]. Цитирование mod_rewrite документов:

  • 'qsappend | QSA' (добавление строки запроса)

Этот флаг заставляет механизм перезаписи добавить часть строки запроса строка подстановки к существующей строка, вместо того, чтобы заменить ее. использование это когда вы хотите добавить больше данных в строка запроса с помощью правила перезаписи.

...