cari

Rumah  >  Soal Jawab  >  teks badan

Folder awam Laravel mengembalikan ralat 404 (.htaccess)

<p>Saya mempunyai fail .htaccess. Melalui fail ini saya boleh mengesan bahasa mengikut subdomain. Tidak ada masalah dalam hal ini. Walau bagaimanapun, apabila saya mengubah hala permintaan masuk ke fail di bawah folder awam, saya mendapat ralat 404 dan bahasa tidak berfungsi dengan betul. </p> <pre class="brush:php;toolbar:false;">SetEnv DEFAULT_LANG en <IfModule mod_rewrite.c> Pilihan +FollowSymLinks -Indeks Tulis SemulaEnjinHidup 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>
P粉238433862P粉238433862571 hari yang lalu531

membalas semua(1)saya akan balas

  • P粉604669414

    P粉6046694142023-07-29 13:29:04

    Cuba gunakan yang berikut:

    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 ^(.*)$ ?language=%{ENV:LANGUAGE} [QSA]
    
        RewriteCond %{REQUEST_URI} !^/public
        RewriteRule ^(.*)$ /public/?language=%{ENV:LANGUAGE} [L,QSA]
    
    </IfModule>

    Menggunakan perkara di atas, pengesanan bahasa harus berfungsi dengan baik walaupun semasa mengubah hala ke fail di bawah folder awam. Pembolehubah %{ENV:LANGUAGE} akan kekal tidak berubah sepanjang penulisan semula, jadi parameter bahasa yang betul harus dihantar ke fail dalam folder awam.

    balas
    0
  • Batalbalas