2016-04-10 5 views
0

Amazon EC2(Linux AMI)にLaravelをデプロイしようとしています。私はlarvalディレクトリとlaravel/publicディレクトリに.htaccessを追加します。 Iブラウザhttp://www.mydomaine.com/laravel/public、laravel最初のページがうまく動作しますが、http://www.mydomaine.com/laravel/public/loginなどのサブページに、私はブラウザ404 AWS EC2にlaravelをデプロイするときのエラー

<IfModule mod_rewrite.c> 
WriteEngine On 
RewriteBase /laravel/public/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

404 Not Foundエラーが表示されます。あなたの助けを借りて、この問題を解決する方法!

答えて

2

あなたは間違っています。 publicディレクトリ内の.htaccessファイルに変更を加えないでください。.htaccessをLaravelルートディレクトリに追加しないでください。

Laravelにはpublicディレクトリを指定する必要があります。そのApacheを再起動した後

DocumentRoot "/path_to_laravel/public/" 
<Directory "/path_to_laravel/public/"> 

をし、期待どおりにアプリが動作するはずです:たとえば、あなたが/path_to_laravel/public/ディレクトリにLaravelをインストールした場合は、Apacheの設定でこれらの設定を使用する必要があります。

http://www.mydomaine.com/loginのように、 'laravel'と 'public'のようなURLを使用します。

+0

あなたの答えをありがとう。しかし、私のサーバーには何か他のものがあります。私はlaravelアプリケーションを私のサイトのサブディレクトリにしたい。 –

0

アレクセイ氏は、それがうまくいくと言いました。 しかし、実際にアプリケーションをこの特定のパス(/laravel/public/)にしたい場合は、ApacheディレクティブをApacheのconfファイルに追加することができます。

ServerName "localhost.app/my/path"を追加してApacheを再起動すると正常に動作します。

関連する問題