Проблема перезаписи мода HTAccess с использованием QSA - PullRequest
2 голосов
/ 05 апреля 2010

Я хочу добавить параметр в URL, но в настоящее время он не отображается в глобальном $ _GET. Фрагмент из моего файла htaccess выглядит так:

RewriteRule ^account/blogs/([0-9]+)/([^\s?]+)/?$ /account/blog.php?blogId=$1 [L,QSA]

Тогда в моем php-коде я хочу добавить ссылку, такую ​​как:

/ счета / блоги / 1 / ThisIsWhereTheTitleGoes? Удалить = 1

Подстановочный знак (любой символ, кроме пробела) предназначен для заголовка блога, так как я никогда не знаю, что это будет. Я знаю, хочу добавить параметр строки запроса в конце, например? Delete = 1. Однако я не хочу, чтобы это было частью переписывания.

Кто-нибудь знает, как это сделать? Спасибо

1 Ответ

1 голос
/ 05 апреля 2010

Лучше всего было бы просто добавить переменные get в регулярное выражение, например:

RewriteRule ^account/blogs/([0-9]+)/([^\s?]+)/?(\?(.*))?$ /account/blog.php?blogId=$1&$4 [L,QSA]

Это переписало бы

/account/blogs/1/ThisIsWhereTheTitleGoes?delete=1

до

/account/blog.php?blogId=1&delete=1

Также поддерживаются дополнительные переменные.

...