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.
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.
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.
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 en cache ne subsiste :
php artisan route:cache php artisan config:cache php artisan cache:clear
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 comme :
https://www.yourdomain.com/hookbox-api/api/your-route
Si la configuration a réussi, cela devrait se charger sans aucune erreur.
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 effectivement 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.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!