Beim Hosten eines Laravel-Projekts auf Shared Hosting besteht eine häufige Herausforderung darin, sicherzustellen, dass URLs nicht das Verzeichnis /public erfordern. Hier ist eine Schritt-für-Schritt-Anleitung, wie Sie Ihre Laravel-App in einem Unterverzeichnis hosten und gleichzeitig die URLs sauber halten.
require __DIR__.'/vendor/autoload.php'; $app = require_once __DIR__.'/bootstrap/app.php';
Dadurch wird Laravel angewiesen, die erforderlichen Dateien im Stammverzeichnis des Projekts statt in der Öffentlichkeit zu finden.
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]
Dieser Code stellt sicher, dass alle eingehenden Anfragen an index.php im Hookbox-API-Ordner weitergeleitet werden. Außerdem wird HTTPS erzwungen, wenn auf Ihrer Website SSL aktiviert ist.
Wenn Sie über SSH-Zugriff verfügen, empfiehlt es sich immer, zwischengespeicherte Konfigurationen und Routen nach jeder Bereitstellungsänderung zu löschen. Führen Sie diese Befehle aus, um sicherzustellen, dass keine zwischengespeicherten Konfigurationskonflikte bestehen bleiben:
php artisan route:cache php artisan config:cache php artisan cache:clear
Jetzt sollten Sie im Browser auf Ihre Laravel-Anwendung zugreifen können, ohne /public in der URL zu benötigen. Versuchen Sie, auf eine Route wie die folgende zuzugreifen:
https://www.yourdomain.com/hookbox-api/api/your-route
Wenn die Einrichtung erfolgreich war, sollte dies ohne Fehler geladen werden.
Durch das Verschieben von index.php und .htaccess in das Stammverzeichnis Ihres Unterverzeichnisses und das Aktualisieren der Dateipfade haben Sie Laravel effektiv so konfiguriert, dass es ausgeführt wird, ohne das Verzeichnis /public in der URL offenzulegen. Diese Methode ist nützlich, wenn Sie mit Shared Hosting arbeiten, da sie eine sauberere, professionellere URL-Struktur beibehält.
Das obige ist der detaillierte Inhalt vonSo hosten Sie ein Laravel-Projekt in einem Unterverzeichnis auf Shared Hosting, ohne „/public' in der URL offenzulegen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!