4 meilleures façons de supprimer le public de l'URL.
Si vous avez utilisé une autre astuce pour supprimer le public de l'URL, changez le nom de server.php en index.php et changez-le en chemin d'accès au fichier principal. De toute évidence, ne faites pas ça. Alors pourquoi Laravel ne donne pas la solution comme ça parce que ce n'est pas une bonne façon de le faire.
1) Supprimer le public de l'URL en utilisant htaccess dans Laravel
En ajoutant un fichier .htaccess à la racine, vous pouvez accéder au site Web sans public
<ifmodule mod_rewrite.c>
<ifmodule mod_negotiation.c>
Options -MultiViews
</ifmodule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
</ifmodule>
2) Supprimez le public en créant un hôte virtuel dans votre local
Je donne ici une démo pour le système d'exploitation Windows. Mais je vais essayer de définir une étape pour que n'importe qui puisse facilement suivre l'étape. Vous pouvez également rechercher sur google la même chose pour le système d'exploitation particulier.
Étape 1: Allez dans C: \ Windows \ system32 \ drivers \ etc \ ouvrez le fichier "hosts" en mode Administrateur.
Étape 2: ajoutez-y le code suivant. Ici, je vous donne une démo de la démonstration du nom de domaine projectname.local, vous pouvez en spécifier à votre guise. Rendez-le constant à chaque endroit.
127.0.0.1 projectname.local
Étape 3: Maintenant, allez à, C:\xampp\apache\conf\extra
pour les utilisateurs de xampp et pour l'utilisateur wamp "C:\wamp\bin\apache\Apache2.4.4\conf\extra"
et ouvrez le "httpd-vhosts.conf"
fichier. Maintenant, ajoutez-y le code suivant.
Remarques: Modifiez la racine du document selon votre projet et ajoutez également le nom de domaine que vous définissez dans le fichier "hosts".
<VirtualHost projectname.local>
ServerAdmin projectname.local
DocumentRoot "C:/xampp/htdocs/projectdir"
ServerName projectname.local
ErrorLog "logs/projectname.local.log"
CustomLog "logs/projectname.local.log" common
</VirtualHost>
Étape 4: Dernier point, mais l'étape importante est de redémarrer votre Xampp ou Wamp et d'accéder à l'URL comme http://projectname.local
et votre Laravel répondra sans URL publique.
3) Supprimer le public en exécutant la commande dans Laravel
Si vous travaillez en local, vous n'avez rien à faire, il suffit d'exécuter la commande suivante à partir de votre terminal ou de votre outil de ligne de commande. Après cela, vous pouvez accéder à votre site Web par l'URL fournie par la ligne de commande.
> php artisan serve
Si vous souhaitez exécuter votre projet sur une adresse IP particulière, vous devez exécuter la commande suivante. Si vous travaillez sur un réseau local, si vous souhaitez autoriser d'autres personnes à accéder à votre site Web à partir du local, il vous suffit de vérifier votre adresse IP à l'aide de la ligne de commande en exécutant "ipconfig" après avoir exécuté votre adresse IP après la commande.
> php artisan serve --host=192.168.0.177
Si vous souhaitez exécuter votre projet sur une IP particulière avec un port particulier, vous devez exécuter la commande suivante.
> php artisan serve --host=192.168.0.177 --port=77
4) Supprimer le public sur le serveur hébergé ou sur le cpanel
Une fois le projet terminé, vous devez héberger le projet sur le serveur, puis il vous suffit de définir la racine du document de votre domaine dans le dossier public. Vérifiez la capture d'écran ci-dessous.
Selon la capture d'écran, si vous n'avez aucun dossier de projet dans le public_html, il vous suffit de définir la racine de votre document comme "public_html/public"
.
Référence prise d' ici