在子目录中configurationHTACCESS

我的主目录中有一个htaccess文件,它将所有顶级目录redirect到一个PHP文件。

– > /Loch会去/profile.php?username=Loch

但是我也有一个子目录,让我们称之为test

我需要一个test中的规则,说:“我的目录的任何子path实际上是GETvariables。

例如,链接到/test/hello/hi

实际上应该去/test/receiver.php?dataset=hello&action=hi

但是,当我在/test/目录下的htaccess文件中使用以下规则时,它不会以这种方式工作(我得到一个500错误)。

 RewriteBase / RewriteEngine On RewriteRule ^(.*?)/(.*?)/?$ /receiver.php?dataset=$1&action=$2 RewriteRule ^(.*?)/?$ /receiver.php?dataset=$1 

我希望我已经提供了足够的信息,请帮助! 谢谢。

您的正则expression式无效。 *? 都是适用于前一个字符的量词,所以*? 没有意义。 你可能想要这个:

 RewriteRule ^(.+)/(.+)/?$ /receiver.php?dataset=$1&action=$2 RewriteRule ^(.+)/?$ /receiver.php?dataset=$1