我有一个 .htaccess 文件。通过这个文件,我可以通过子域名来检测语言。这方面没有问题。然而,当我将传入的请求重定向到 public 文件夹下的文件时,我会得到一个 404 错误,并且语言也无法正常工作。
SetEnv DEFAULT_LANG en
<IfModule mod_rewrite.c>
Options +FollowSymLinks -Indexes
RewriteEngine On
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>
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号