Der öffentliche Ordner von Laravel gibt den Fehler 404 zurück (.htaccess)
P粉238433862
P粉238433862 2023-07-28 18:04:13
0
1
462
<p>Ich habe eine .htaccess-Datei. Durch diese Datei kann ich die Sprache anhand der Subdomain erkennen. Diesbezüglich gibt es kein Problem. Wenn ich jedoch die eingehende Anfrage an eine Datei im öffentlichen Ordner umleite, erhalte ich die Fehlermeldung 404 und die Sprache funktioniert nicht richtig. </p> <pre class="brush:php;toolbar:false;">SetEnv DEFAULT_LANG de <IfModule mod_rewrite.c> Optionen +FollowSymLinks -Indexes RewriteEngineOn 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} !sprache= RewriteRule ^(.*)$ $1?sprache=%{ENV:LANGUAGE} [QSA] RewriteCond %{REQUEST_URI} !^/public RewriteRule ^(.*)$ /public/$1 [L] </IfModule></pre> <p><br /></p>
P粉238433862
P粉238433862

Antworte allen(1)
P粉604669414

尝试使用以下内容:

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?language=%{ENV:LANGUAGE} [L,QSA]

</IfModule>

使用上述内容,即使在重定向到public文件夹下的文件时,语言检测也应该能正常工作。%{ENV:LANGUAGE}变量将在整个重写过程中保持不变,因此应该将正确的语言参数传递给public文件夹中的文件。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!