私のプロジェクトの1つで、.htaccessを使用してリダイレクトしようとしています。私は次のようなリダイレクトを使用しています:
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
しかし、今度は書き換えルールに例外を追加したいと思います。http://example.com/admin/を同じ方法でリダイレクトし、別のディレクトリにのみリダイレクトしたい。他のすべてのトラフィックは、引き続きパブリックディレクトリに移動する必要があります。だから私はこのような書き換え条件を追加しました:
RewriteCond %{REQUEST_URI} !/admin/
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
これはうまくいきませんでした。まだパブリックフォルダにリダイレクトされています。私もこれを試しました:
RewriteRule ^admin$ admin/ [L]
RewriteRule admin(.*) admin/$1 [L]
RewriteCond %{REQUEST_URI} !/admin
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
これは事態を悪化させるだけでした。500内部サーバーエラーが発生します。
私は今何時間も検索していて、特定のフォルダの例外を追加する方法を示す例を見つけるのに少しうんざりしていますが、このトラフィックを別のフォルダにリダイレクトする方法を示していません。私が間違っていること、または私が試すことができる他のアプローチを教えてください。