Правило .htaccess mod_rewrite, соответствующее чистому URL, а также дополнительным настраиваемым параметрам. - PullRequest
0 голосов
/ 21 октября 2018

Это файл .htaccess, который я нашел для своего REST API и перезаписывающий URL-адреса следующим образом: rest.php / a / b / c /... -> rest.php?url = a / b / c /...

RewriteEngine On
RewriteRule ^(.*)$ rest.php?url=$1 [L,NC,NE]

Я пытался изменить этот код, чтобы учесть дополнительные параметры GET, так как в текущей форме он просто игнорирует их и только PHPвидит «URL».Как это можно сделать?

Я хочу что-то вроде этого: rest.php / a / b / c / ...? Filter = word -> rest.php?URL = а / б / с /...& фильтр = слово

1 Ответ

0 голосов
/ 21 октября 2018

Вам нужен флаг QSA (Запрос строки добавления)

RewriteEngine On
RewriteRule ^(.*)$ output.php?url=$1 [QSA,NC,NE]

Дает мне для URL

http://localhost/rest.php/a/b/c/?var2=val2

следующие GET параметры

array(2) { ["url"]=> string(15) "rest.php/a/b/c/" ["var2"]=> string(4) "val2" } 

Для получения дополнительной информации см. Флаг перезаписи QSA

...