Laravelパブリックフォルダーが404エラーを返します(.htaccess)
P粉238433862
2023-07-28 18:04:13
<p>.htaccess ファイルがあります。このファイルを通じて、サブドメインごとに言語を検出できます。この点に関しては問題ありません。ただし、受信したリクエストをパブリック フォルダー内のファイルにリダイレクトすると、404 エラーが発生し、言語が正しく動作しません。 </p>
<pre class="brush:php;toolbar:false;">SetEnv DEFAULT_LANG ja
<IfModule mod_rewrite.c>
オプション FollowSymLinks -Indexes
リライトエンジンオン
RewriteCond %{HTTP:Authorization} 。
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{HTTP_HOST} ^([a-z]{2}).([a-z0-9-] .[a-z] )$ [NC]
RewriteRule (.*) - [QSA,E=LANGUAGE:%1]
RewriteCond %{ENV:LANGUAGE} ^$
RewriteRule (.*) - [QSA,E=LANGUAGE:en]
RewriteCond %{QUERY_STRING} ! language=
RewriteRule ^(.*)$ $1? language=%{ENV:LANGUAGE} [QSA]
RewriteCond %{REQUEST_URI} !^/public
RewriteRule ^(.*)$ /public/$1 [L]
</IfModule></pre>
<p><br /></p>
以下を使用してみてください:
リーリー上記を使用すると、パブリック フォルダー内のファイルにリダイレクトする場合でも、言語検出が適切に機能するはずです。 %{ENV:LANGUAGE} 変数は書き換え中も変更されないため、正しい言語パラメータをパブリック フォルダー内のファイルに渡す必要があります。