Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Menghoskan Projek Laravel dalam Subdirektori pada Hosting Dikongsi tanpa Mendedahkan `/awam` dalam URL

Cara Menghoskan Projek Laravel dalam Subdirektori pada Hosting Dikongsi tanpa Mendedahkan `/awam` dalam URL

Barbara Streisand
Barbara Streisandasal
2024-11-07 20:07:03996semak imbas

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

Apabila mengehos projek Laravel pada pengehosan kongsi, satu cabaran biasa ialah memastikan URL tidak memerlukan direktori /public. Berikut ialah panduan langkah demi langkah untuk mengehos apl Laravel anda dalam subdirektori sambil memastikan URL bersih.

Langkah 1: Muat Naik Projek Laravel Anda ke Pelayan

  1. Log masuk ke akaun pengehosan anda dan akses pengurus fail anda.
  2. Navigasi ke folder public_html atau direktori utama untuk tapak web anda.
  3. Buat folder baharu (subdirektori) untuk projek Laravel anda. Dalam contoh ini, kami akan menamakannya hookbox-api.
  4. Muat naik keseluruhan projek Laravel anda ke folder hookbox-api.

Langkah 2: Alihkan index.php ke Root Subdirektori

  1. Buka folder hookbox-api/public.
  2. Salin (atau alihkan) fail index.php daripada awam ke akar hookbox-api.
  3. Buka fail index.php yang disalin dalam akar hookbox-api dan kemas kini laluan fail seperti berikut:
   require __DIR__.'/vendor/autoload.php';
   $app = require_once __DIR__.'/bootstrap/app.php';

Ini memberitahu Laravel untuk mencari fail yang diperlukan dalam akar projek dan bukannya awam.

Langkah 3: Alihkan Fail .htaccess ke Root Subdirektori

  1. Seterusnya, alihkan fail .htaccess daripada folder awam ke akar hookbox-api.
  2. Ganti kandungan fail .htaccess ini dengan yang berikut:
   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]

Kod ini memastikan bahawa semua permintaan masuk diarahkan ke index.php dalam folder hookbox-api. Ia juga memaksa HTTPS jika tapak anda mendayakan SSL.

Langkah 4: Kosongkan Cache Laravel (Pilihan tetapi Disyorkan)

Jika anda mempunyai akses SSH, mengosongkan konfigurasi cache dan laluan sentiasa menjadi amalan yang baik selepas sebarang perubahan penggunaan. Jalankan arahan ini untuk memastikan tiada konflik konfigurasi cache kekal:

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

Langkah 5: Uji Persediaan Anda

Kini, anda sepatutnya boleh mengakses aplikasi Laravel anda dalam penyemak imbas tanpa memerlukan /publik dalam URL. Cuba akses laluan seperti:

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

Jika persediaan berjaya, ini akan dimuatkan tanpa sebarang ralat.

Kesimpulan

Dengan mengalihkan index.php dan .htaccess ke akar subdirektori anda dan mengemas kini laluan fail, anda telah mengkonfigurasi Laravel dengan berkesan untuk dijalankan tanpa mendedahkan direktori /public dalam URL. Kaedah ini berguna apabila bekerja dengan pengehosan kongsi, kerana ia mengekalkan struktur URL yang lebih bersih dan lebih profesional.

Atas ialah kandungan terperinci Cara Menghoskan Projek Laravel dalam Subdirektori pada Hosting Dikongsi tanpa Mendedahkan `/awam` dalam URL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn