2016-04-10 22 views
0

Laravel'i Amazon EC2 (Linux AMI) üzerinde dağıtmaya çalışıyorum. .htaccess'u larval dizinine ve laravel/public dizinine ekliyorum. 404 AWS EC2 üzerinde laravel dağıtılırken hata oluştu

<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> 

Ben tarayıcı http://www.mydomaine.com/laravel/public, laravel ilk sayfa iyi çalışıyor

ancak http://www.mydomaine.com/laravel/public/login gibi bir alt sayfasına Ben tarayıcı, bir 404 Not Found hata göründüğünde. Bu problemi nasıl çözersiniz, yardımlarınız için teşekkürler!

cevap

2

Yanlış yapıyorsunuz. Hiçbir .htaccess dosyasında bir public dizininde hiçbir değişiklik yapmayın ve bir Laravel kök dizinine .htaccess eklemeyin.

Çalıştırmak için Laravel'i public dizinine yönlendirmeniz gerekir. Bu yeniden başlatma Apaçi sonra

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

ve beklendiği gibi uygulama çalışması gerekir: Örneğin, /path_to_laravel/public/ dizinde laravel yükledim eğer, Apachenizi yapılandırmasında bu ayarları kullanmak gerekir.

'laravel' ve 'public' olmadan http://www.mydomaine.com/login gibi URL'leri kullanın.

+0

Cevabınız için teşekkür ederiz. Ama sunucumda başka bir şey var. Laravel uygulamasının sitemin bir alt dizini olmasını istiyorum. –

0

Alexey'nın söylediği gibi çalışmalı. Ancak, uygulamanızın bu özel yolda olmasını istiyorsanız (/laravel/public/), apache conf dosyanıza yeni bir yönerge ekleyebilirsiniz.

ServerName "localhost.app/my/path" ekleyin ve Apache'nizi yeniden başlatın ve çalışması gerekir.