サブディレクトリでの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

関連情報