「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > URLで「/public」を公開せずに共有ホスティングのサブディレクトリでLaravelプロジェクトをホストする方法

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

2024 年 11 月 17 日に公開
ブラウズ:208

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. という名前を付けます。
  5. Laravel プロジェクト全体をフックボックス API フォルダーにアップロードします。

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

  1. hookbox-api/public フォルダーを開きます。
  2. index.php ファイルを public からフックボックス 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 構造を維持するため、共有ホスティングを使用する場合に便利です。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/msnmongare/how-to-host-a-laravel-project-in-a-subdirectory-on-shared-hosting-without-exposing-public-in-the- url- 50cp?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3