Maison  >  Questions et réponses  >  le corps du texte

Traduire « Supprimer le répertoire public » dans le projet Laravel en chinois par « Supprimer le répertoire public »

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粉898049562P粉898049562180 Il y a quelques jours380

répondre à tous(1)je répondrai

  • P粉738821035

    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>

    répondre
    0
  • Annulerrépondre