メイン ディレクトリに 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