2016-04-04 4 views
0

Проблема с виртуальным хостом Маршрут Laravel не работает хорошо, он может получить доступ к public/index.php, но маршрутизация не эффективна, может кто-нибудь помочь мне в этой проблеме.Виртуальный хост, не работающий на laravel 5.1

<VirtualHost *:80> 
    ServerName laravel.dev 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/mylaravel/public/ 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
    <Directory /> 
     Options FollowSymLinks 
     AllowOverride All 
    </Directory> 

    <Directory /var/www/mylaravel/public/> 
     Options +Indexes +FollowSymLinks +MultiViews 
     Options Indexes FollowSymLinks 
     AllowOverride All 
     Require all granted 
    </Directory> 
</VirtualHost> 

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet 

После этой настройки вместо получения результата для определенного маршрута отображается 404-значный нормальный PHP-стиль.

ответ

0

Вы должны указать свой веб-сервер (Apache) в общий каталог, но вам не нужно использоватьи index.php в ваших URL-адресах и маршрутах.

Правильные маршруты:

Route::get('foo/bar', function() { 
    return 'Hello World'; 
}); 

Route::get('/', function() { 
    return 'It's the index page!'; 
}); 

https://laravel.com/docs/5.1/routing#basic-routing

0

Для отключения апача mod_rewite вы получаете этот problem.By таким образом, я решил мою проблему

//keep this in /etc/apache2/sites-available/000-default.conf file 
<Directory /var/www/> 
Options Indexes FollowSymLinks MultiViews 
AllowOverride All 
Order allow,deny 
allow from all 
</Directory> 

//enable mod rewrite 
a2enmod rewrite 

//restart apache 
service apache2 restart 

Для более http://www.kingpabel.com/apache-mod-rewrite/