在共享主機上託管 Laravel 專案時,一個常見的挑戰是確保 URL 不需要 /public 目錄。這是在子目錄中託管 Laravel 應用程式同時保持 URL 乾淨的逐步指南。
require __DIR__.'/vendor/autoload.php'; $app = require_once __DIR__.'/bootstrap/app.php';
這告訴 Laravel 在專案的根目錄而不是公共目錄中尋找必要的檔案。
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]
此程式碼確保所有傳入請求都定向到 hookbox-api 資料夾中的index.php。如果您的網站啟用了 SSL,它也會強制使用 HTTPS。
如果您有 SSH 存取權限,在任何部署變更後清除快取的配置和路由始終是一個好習慣。執行這些命令以確保不存在快取的配置衝突:
php artisan route:cache php artisan config:cache php artisan cache:clear
現在,您應該能夠在瀏覽器中訪問您的 Laravel 應用程序,而無需在 URL 中添加 /public 。試試造訪以下路線:
https://www.yourdomain.com/hookbox-api/api/your-route
如果設定成功,載入應該不會出現任何錯誤。
透過將 index.php 和 .htaccess 移到子目錄的根目錄並更新檔案路徑,您已經有效地將 Laravel 配置為在不暴露 URL 中的 /public 目錄的情況下運行。此方法在使用共用主機時非常有用,因為它可以保持更清晰、更專業的 URL 結構。
以上是如何在共享主機的子目錄中託管 Laravel 專案而不在 URL 中暴露“/public”的詳細內容。更多資訊請關注PHP中文網其他相關文章!