在子目录中配置 HTACCESS

在子目录中配置 HTACCESS

我的主目录中有一个 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

相关内容