Правило перезаписи .htaccess с динамического URL на статический (без строки запроса) - PullRequest
2 голосов
/ 14 апреля 2019

У меня есть страница с формой - http://www.example.com/results/index.php. Мне нужно сделать так, чтобы к форме можно было получить доступ из URL http://www.example.com/results/[anystring]. То есть пользователь видит http://www.example.com/results/[anystring] URL в адресной строке браузера, но они видят содержимое страницы http://www.example.com/results/index.php с сервера.Часть «anystring» будет использоваться формой страницы, и если она находится в списке ожидаемых строк, то форма отобразится, а «anystring» будет значением скрытого поля.Я знаю, как сделать PHP-часть этого - используйте «anystring» в форме, если она находится в списке ожидаемой строки.Я не знаю, как сделать перезапись с URL-адреса с динамической частью - http://www.example.com/results/[anystring] - для доступа к статической странице - http://www.example.com/results/index.php.

Пока у меня естьследующее, которое не работает:

RewriteEngine On
RewriteBase   /results/
Rewrite Rule (\w+) index.php [L]

Кроме того, есть и другие URL-адреса, которые должны оставаться без изменений, такие как http://www.example.com/results/path/to/other/files.php.

Может кто-нибудь указать мне вправильное направление?

1 Ответ

2 голосов
/ 15 апреля 2019

Вы довольно близко. Вы можете использовать это правило в results/.htaccess файле:

RewriteEngine On
RewriteBase /results/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
...