![サブディレクトリでのHTACCESSの設定](https://rvso.com/image/593902/%E3%82%B5%E3%83%96%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%A7%E3%81%AEHTACCESS%E3%81%AE%E8%A8%AD%E5%AE%9A.png)
メイン ディレクトリに 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