Maison > Questions et réponses > le corps du texte
Je fais un projet Laravel mais j'ai un gros problème, je n'arrive pas à supprimer le nom /public/ de mes URL. J'ai vu une solution pour déplacer certains fichiers du répertoire public vers le répertoire racine de Laravel, mais j'ai également appris qu'il s'agissait d'une technique dangereuse. Je dois donc résoudre ce problème avec .htaccess puisque je n'ai pas accès à Apache.
J'ai créé un .htaccess dans le répertoire racine, mais cela l'a simplement fait fonctionner sans le nom public dans l'URL, mais les routes à l'intérieur de Laravel affichent toujours le nom public. s'il vous plaît, aidez-moi. J'ai essayé d'utiliser d'autres règles htaccess pour supprimer le public complet, mais le routage interne pour les fichiers CSS, Livewire, JS, etc. ne fonctionne pas car ils ont tous des URL publiques.
<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
J'ai eu le même problème et j'ai dû déplacer le chemin des paramètres du domaine de "public_html/" vers "public_html/public". Ensuite dans votre fichier "public_html/public/.htaccess" j'ai les paramètres suivants :
<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>