Перенаправление с необязательной строкой запроса (.htaccess) - PullRequest
1 голос
/ 10 апреля 2020

Я кодировал небольшой PHP -скрипт, с которым у меня есть что-то вроде короткого URL.

short.url/string

направляется на

short.url/redirect.php?id=string

Код:

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^(.+)$ ./redirect.php?id=$1

Некоторые из этих коротких URL имеют строки запроса; к сожалению, мне сложно объединить строки запроса с кодом выше

short.url/string?query

должен быть направлен на

short.url/redirect.php?id=string&q=query

Как я могу это сделать что?

1 Ответ

2 голосов
/ 10 апреля 2020

Вам необходимо использовать флаг QSA (Query String Append) в вашем правиле

Флаг QSA используется для объединения как новых, так и старых строк запроса.

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^(.+)$ ./redirect.php?id=$1 [QSA]
...