我的主目錄中有一個 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