VPS サーバーをセットアップし、Laravel プロジェクトをセットアップしようとしています。/public_html/
Web サイトの URL にアクセスしたときに表示される index.html を含むフォルダーがあります。
- 次の場所にlaravelプロジェクトがあります。
/public_html/project_one/
- 元の index.php は次の場所にあります。
/public_html/project_one/public/index.php
デフォルトで Web サイトを Laravel project_one に表示したいのですが、昨日からこれを文字通り 4 時間グーグルで検索し、stackoverflow ですべてのソリューションを試しましたが、何も機能しませんでした。 .
質問:
/public_html/
私のLaravelプロジェクトにリダイレクトするように内部で.htaccessをセットアップする方法を知っている人はいますか?
Laravel フォルダーを次の場所にアップロードする必要/public_html/project_one/
がありましたが、もっと良い場所はありますか?
Laravel プロジェクトを表示するメイン URL が必要です。Laravelwww.mainurl.com
のproject_one/public/index.php
ファイルも同様です。/project_one/
URLに書かれたくない!
好奇心から、今アクセスするwww.mainurl.com/project_one
と、403禁止が表示されます。
失敗したソリューション
/public_html/ に .htaccess を追加しようとしました:
DirectoryIndex index.php
#Redirect to /project_one/public if you haven't already and the IP is okay
RewriteCond %{REMOTE_ADDR} ^1\.2\.3\.4*
RewriteCond %{REQUEST_URI} !^/project_one/public
RewriteRule ^(/lucaphoto)?(.+) /project_one/public$2 [L]
#if IP does not match and you ARE in the folder, then Redirect to root
RewriteCond %{REMOTE_ADDR} !^1\.2\.3\.4*
RewriteCond %{REQUEST_URI} ^/project_one/public
RewriteRule .? / [R=301,L]
これは私に本当に奇妙なことを教えてくれます:
- Chrome の場合: www.mainurl.com/project_one にリダイレクトされます -> そして、403 禁止エラーが表示されます。**
- サファリの場合:どこにもリダイレクトされませんが、次のエラーが表示されます:
禁断。このサーバーの / にアクセスする権限がありません。
さらに、ErrorDocument を使用して要求を処理しようとしたときに、404 Not Found エラーが発生しました。
Laravel 独自の .htaccess ファイル
ちなみに、Laravelには独自の.htaccessファイルがあります/project_one/public/.htaccess
。次のようになります。
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>