ホームページ  >  記事  >  バックエンド開発  >  URLで「/public」を公開せずに共有ホスティングのサブディレクトリでLaravelプロジェクトをホストする方法

URLで「/public」を公開せずに共有ホスティングのサブディレクトリでLaravelプロジェクトをホストする方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-07 20:07:03996ブラウズ

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

共有ホスティングで Laravel プロジェクトをホストする場合、共通の課題の 1 つは、URL に /public ディレクトリを必要としないようにすることです。ここでは、URL をクリーンに保ちながら、Laravel アプリをサブディレクトリでホストするためのステップバイステップのガイドを示します。

ステップ 1: Laravel プロジェクトをサーバーにアップロードする

  1. ホスティング アカウントにログインし、ファイル マネージャーにアクセスします。
  2. public_html フォルダーまたは Web サイトのメイン ディレクトリに移動します。
  3. Laravel プロジェクト用に新しいフォルダー (サブディレクトリ) を作成します。この例では、hookbox-api という名前を付けます。
  4. Laravel プロジェクト全体をhookbox-api フォルダーにアップロードします。

ステップ 2:index.php をサブディレクトリのルートに移動する

  1. hookbox-api/public フォルダーを開きます。
  2. index.php ファイルを public からhookbox-api のルートにコピー (または移動) します。
  3. hookbox-api のルートにコピーしたindex.php ファイルを開き、ファイル パスを次のように更新します。
   require __DIR__.'/vendor/autoload.php';
   $app = require_once __DIR__.'/bootstrap/app.php';

これにより、Laravel はパブリックではなくプロジェクトのルート内で必要なファイルを見つけるように指示されます。

ステップ 3: .htaccess ファイルをサブディレクトリのルートに移動する

  1. 次に、.htaccess ファイルをパブリック フォルダーからフックボックス API のルートに移動します。
  2. この .htaccess ファイルの内容を次のものに置き換えます。
   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 が強制されます。

ステップ 4: Laravel のキャッシュをクリアする (オプションですが推奨)

SSH アクセスがある場合は、デプロイメントを変更した後、キャッシュされた構成とルートをクリアすることを常に推奨します。次のコマンドを実行して、キャッシュされた構成の競合が残っていないことを確認します。

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

ステップ 5: セットアップをテストする

これで、URL に /public を含めなくても、ブラウザーで Laravel アプリケーションにアクセスできるようになります。次のようなルートにアクセスしてみてください:

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

セットアップが成功した場合、これはエラーなしで読み込まれるはずです。

結論

index.php と .htaccess をサブディレクトリのルートに移動し、ファイル パスを更新することで、URL で /public ディレクトリを公開せずに Laravel を実行するように効果的に設定できました。この方法は、よりクリーンでよりプロフェッショナルな URL 構造を維持するため、共有ホスティングを使用する場合に便利です。

以上がURLで「/public」を公開せずに共有ホスティングのサブディレクトリでLaravelプロジェクトをホストする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。