У меня есть файл 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
Надеюсь, я предоставил достаточно информации, пожалуйста, помогите! Спасибо.
Ваши регулярные выражения недействительны. *
и ?
оба квантификатора, которые применяются к предыдущему символу, и поэтому *?
не имеет смысла. Вы, наверное, захотите этого:
RewriteRule ^(.+)/(.+)/?$ /receiver.php?dataset=$1&action=$2
RewriteRule ^(.+)/?$ /receiver.php?dataset=$1