У меня в главном каталоге есть файл htaccess, который перенаправляет все каталоги верхнего уровня в файл PHP.
-> /Loch
пошёл бы в/profile.php?username=Loch
Но у меня также есть подкаталог, назовем егоtest
Мне нужно правило test
, которое гласит: «Все подпути моего каталога на самом деле являются переменными GET».
Например, ссылка на/test/hello/hi
На самом деле стоит пойти/test/receiver.php?dataset=hello&action=hi
Однако когда я использую следующие правила в файле htaccess в каталоге /test/
, это не работает (я получаю ошибку 500).
RewriteBase /
RewriteEngine On
RewriteRule ^(.*?)/(.*?)/?$ /receiver.php?dataset=$1&action=$2
RewriteRule ^(.*?)/?$ /receiver.php?dataset=$1
Надеюсь, я предоставил достаточно информации, пожалуйста, помогите! Спасибо.
решение1
Ваши регулярные выражения недействительны. *
и ?
оба являются квантификаторами, которые применяются к предыдущему символу, и поэтому *?
не имеют смысла. Вероятно, вы хотите это:
RewriteRule ^(.+)/(.+)/?$ /receiver.php?dataset=$1&action=$2
RewriteRule ^(.+)/?$ /receiver.php?dataset=$1