ユーザーが foo.com/bar にアクセスすると、foo.com/bar/public にあるサイトが表示されます。公開部分は非表示にする必要があります。.htaccess を使用してこれを達成するにはどうすればよいですか?
前もって感謝します
これらのルールをドキュメント ルートの htaccess ファイルに追加します。
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/bar/(.*)$
RewriteCond %{DOCUMENT_ROOT}/bar/public/%1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/bar/public/%1 -d
RewriteRule ^/?bar/(.*)$ /bar/public/$1 [L]
最初の条件は、URI が「/bar」で始まることを確認し、残りのリクエストをグループ化します。次の 2 つの条件は、要求の残りの部分 ( によって後方参照される%1
) が既存のファイルまたはディレクトリにマップされていることを確認します。すべての条件が満たされると、URI が内部的に に書き換えられ/bar/public
ます。