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