„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So hosten Sie ein Laravel-Projekt in einem Unterverzeichnis auf Shared Hosting, ohne „/public“ in der URL offenzulegen

So hosten Sie ein Laravel-Projekt in einem Unterverzeichnis auf Shared Hosting, ohne „/public“ in der URL offenzulegen

Veröffentlicht am 17.11.2024
Durchsuche:108

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

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.

Schritt 1: Laden Sie Ihr Laravel-Projekt auf den Server hoch

  1. Melden Sie sich bei Ihrem Hosting-Konto an und greifen Sie auf Ihren Dateimanager zu.
  2. Navigieren Sie zum Ordner public_html oder zum Hauptverzeichnis Ihrer Website.
  3. Erstellen Sie einen neuen Ordner (Unterverzeichnis) für Ihr Laravel-Projekt. In diesem Beispiel nennen wir es „hookbox-api“.
  4. Laden Sie Ihr gesamtes Laravel-Projekt in den Hookbox-API-Ordner hoch.

Schritt 2: Verschieben Sie index.php in das Stammverzeichnis des Unterverzeichnisses

  1. Öffnen Sie den Ordner „hookbox-api/public“.
  2. Kopieren (oder verschieben) Sie die Datei index.php von public in das Stammverzeichnis von Hookbox-API.
  3. Öffnen Sie die kopierte Datei index.php im Stammverzeichnis von Hookbox-API und aktualisieren Sie die Dateipfade wie folgt:
   require __DIR__.'/vendor/autoload.php';
   $app = require_once __DIR__.'/bootstrap/app.php';

Dies weist Laravel an, die erforderlichen Dateien im Stammverzeichnis des Projekts statt in der Öffentlichkeit zu finden.

Schritt 3: Verschieben Sie die .htaccess-Datei in das Stammverzeichnis des Unterverzeichnisses

  1. Verschieben Sie als Nächstes die .htaccess-Datei aus dem öffentlichen Ordner in das Stammverzeichnis von Hookbox-API.
  2. Ersetzen Sie den Inhalt dieser .htaccess-Datei durch Folgendes:
   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.

Schritt 4: Laravel-Cache leeren (optional, aber empfohlen)

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 verbleiben:

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

Schritt 5: Testen Sie Ihr Setup

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.

Abschluss

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.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/msnmongare/how-to-host-a-laravel-project-in-a-subdirectory-on-shared-hosting-without-exposed-public-in-the- URL- 50cp?1 Wenn ein Verstoß vorliegt, wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3