2

私は、laravel アプリケーションを godaddy ホスティングにデプロイします。http://forums.laravel.io/viewtopic.php?id=1258のソリューション 2 を使用します

これで、http://domain/http://domain/public/

へのアクセスを閉じて、http://domain/public/すべてが によって提供されるようにしたいhttp://domain

この .htaccess ルールを試してみましたが、まだアクセスできますhttp://domain/public/

RewriteCond %{REQUEST_URI} ^public
RewriteRule ^public/(.*)$ $1 [L]

または、パブリック フォルダーをドメインの documentroot として設定できるように、godaddy ホスティングをセットアップする方法はありますか?

ありがとう。

4

2 に答える 2

6

書き直すだけでなく、クライアントをリダイレクトする必要があります。はすでにリクエストのみに制限されているRewriteCondため、ここでは必要ありません。RewriteRulepublic/

RewriteRule ^public/(.*)$ $1 [R,L]

しかし今、あなたは無限ループに陥り、書き換えとリダイレクトを行ったり来たりしています。ループを中断するには、リクエストがすでに書き換えられているかどうかを検出する必要があります

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]

Laravel フォーラムのルールを含め、すべてをまとめるには

RewriteEngine on

# prevent endless loop
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]

# redirect client to non-public
RewriteRule ^public/(.*)$ $1 [R,L]

# send real page to client
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^.*$ public/$0 [L]
于 2013-04-20T17:04:56.270 に答える
0

godaddy ホスティング アカウントを閉鎖し、a2hosting に移動して、laravel フォルダーを public_html フォルダーの外側のホーム ディレクトリに配置することにしました。

于 2013-05-02T16:46:53.313 に答える