Rumah > Soal Jawab > teks badan
Saya sedang membuat projek Laravel tetapi saya mempunyai masalah besar, saya tidak boleh mengalih keluar nama /public/ daripada URL saya. Saya melihat penyelesaian untuk memindahkan beberapa fail dari direktori awam ke direktori akar laravel, tetapi saya juga mengetahui bahawa ini adalah teknik yang tidak selamat. Jadi saya perlu menyelesaikan masalah ini dengan .htaccess kerana saya tidak mempunyai akses kepada apache.
Saya mencipta .htaccess dalam direktori akar, tetapi itu hanya menjadikannya berfungsi tanpa nama awam dalam URL, tetapi laluan di dalam laravel masih menunjukkan nama awam. tolong bantu. Saya cuba menggunakan peraturan htaccess lain untuk mengalih keluar orang awam sepenuhnya, tetapi penghalaan dalaman untuk fail css, livewire, js, dll. tidak berfungsi kerana kesemuanya mempunyai url awam.
<ifmodule mod_negotiation.c> Options -MultiViews </ifmodule> RewriteEngine On RewriteCond %{REQUEST_FILENAME} -d [OR] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^ ^ [N] RewriteCond %{REQUEST_URI} (\.\w+$) [NC] RewriteRule ^(.*)$ public/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ server.php
P粉7388210352024-04-04 09:54:16
Saya mengalami masalah yang sama dan saya terpaksa mengalihkan laluan tetapan domain daripada "public_html/" ke "public_html/public". Kemudian dalam fail "public_html/public/.htaccess" anda, saya mempunyai tetapan berikut:
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # 处理授权头部 RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # 将请求发送到前端控制器... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>