htaccess Dynami c Папка и имя файла для соответствия RewriteCond - PullRequest
0 голосов
/ 23 февраля 2020

Ссылка http://localhost/myproject/payment/confirm/1 была перенаправлена ​​на http://localhost/myproject/payment/confirm.php?id=1 по этому правилу:

# myproject   : root folder
# payment     : folder myproject/payment
# confirm.php : file in myproject/payment/confirm.php 

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} confirm/(.*)$
RewriteRule (.*)/(.*)$ $1\.php?id=$2 [L]

Файл PHP может находиться в другом пути к папке или глубине. Например, ссылка http://localhost/myproject/client/payment/confirm/1 также работает с приведенным выше правилом для перезаписи на http://localhost/myproject/client/payment/confirm.php?id=1.

Я пытаюсь сделать confirm динамическим c для других страниц, например invoice/2 для invoice.php?id=2.

Я пытался включить %{REQUEST_FILENAME} во второй RewriteCond, но безуспешно.

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} %{REQUEST_FILENAME}/(.*)$
RewriteRule (.*)/(.*)$ $1\.php?id=$2 [L]

Как этого добиться, чтобы мы не определяли длинные возможные страницы с идентификатор на это? Пожалуйста, совет.

...