"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment héberger un projet Laravel dans un sous-répertoire sur un hébergement partagé sans exposer « /public » dans l'URL

Comment héberger un projet Laravel dans un sous-répertoire sur un hébergement partagé sans exposer « /public » dans l'URL

Publié le 2024-11-17
Parcourir:465

How to Host a Laravel Project in a Subdirectory on Shared Hosting without Exposing `/public` in the URL

Lors de l'hébergement d'un projet Laravel sur un hébergement partagé, un défi courant consiste à s'assurer que les URL ne nécessitent pas le répertoire /public. Voici un guide étape par étape pour héberger votre application Laravel dans un sous-répertoire tout en gardant les URL propres.

Étape 1 : Téléchargez votre projet Laravel sur le serveur

  1. Connectez-vous à votre compte d'hébergement et accédez à votre gestionnaire de fichiers.
  2. Accédez au dossier public_html ou au répertoire principal de votre site Web.
  3. Créez un nouveau dossier (sous-répertoire) pour votre projet Laravel. Dans cet exemple, nous l’appellerons hookbox-api.
  4. Téléchargez l'intégralité de votre projet Laravel dans le dossier hookbox-api.

Étape 2 : Déplacez index.php vers la racine du sous-répertoire

  1. Ouvrez le dossier hookbox-api/public.
  2. Copiez (ou déplacez) le fichier index.php de public vers la racine de hookbox-api.
  3. Ouvrez le fichier index.php copié à la racine de hookbox-api et mettez à jour les chemins de fichiers comme suit :
   require __DIR__.'/vendor/autoload.php';
   $app = require_once __DIR__.'/bootstrap/app.php';

Cela indique à Laravel de trouver les fichiers nécessaires à la racine du projet plutôt que dans le public.

Étape 3 : déplacez le fichier .htaccess vers la racine du sous-répertoire

  1. Ensuite, déplacez le fichier .htaccess du dossier public vers la racine de hookbox-api.
  2. Remplacez le contenu de ce fichier .htaccess par ce qui suit :
   RewriteEngine On

   # Force HTTPS
   RewriteCond %{HTTPS} off
   RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

   # Redirect all requests to index.php
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^ index.php [L]

Ce code garantit que toutes les requêtes entrantes sont dirigées vers index.php dans le dossier hookbox-api. Il force également HTTPS si SSL est activé sur votre site.

Étape 4 : Vider le cache de Laravel (facultatif mais recommandé)

Si vous disposez d'un accès SSH, effacer la configuration et les routes mises en cache est toujours une bonne pratique après toute modification de déploiement. Exécutez ces commandes pour vous assurer qu'aucun conflit de configuration mis en cache ne subsiste :

php artisan route:cache
php artisan config:cache
php artisan cache:clear

Étape 5 : testez votre configuration

Maintenant, vous devriez pouvoir accéder à votre application Laravel dans le navigateur sans avoir besoin de /public dans l'URL. Essayez d'accéder à un itinéraire tel que :

https://www.yourdomain.com/hookbox-api/api/your-route

Si la configuration a réussi, cela devrait se charger sans aucune erreur.

Conclusion

En déplaçant index.php et .htaccess à la racine de votre sous-répertoire et en mettant à jour les chemins de fichiers, vous avez efficacement configuré Laravel pour qu'il s'exécute sans exposer le répertoire /public dans l'URL. Cette méthode est utile lorsque vous travaillez avec un hébergement partagé, car elle maintient une structure d'URL plus propre et plus professionnelle.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/msnmongare/how-to-host-a-laravel-project-in-a-subdirectory-on-shared-hosting-without-exposing-public-in-the- url- 50cp?1 S'il y a une infraction, veuillez contacter [email protected] pour la supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3