Laravel虚拟服务器路由不起作用

时间:2015-03-30 22:14:39

标签: php apache ubuntu

我在Apache2上安装了最新的Laravel。我在终端

运行
php artisan serve --port=8080

它有效。我有子页面和我需要的一切。但我想在不运行此命令的情况下进行访问。

我在/etc/apache2/sites-available

中有下一个mylaravel.com.conf文件
<VirtualHost *:80>
    ServerName mylaravel.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/mylaravel/public

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我的Laravel文件当然是/var/www/mylaravel。在这个配置中,mylaravel.com可以工作,但是当我尝试简单的mylaravel.com/auth/register Apache返回

enter image description here

当我使用php artisan [...]时,这很好用。我该如何解决?

2 个答案:

答案 0 :(得分:3)

我前一段时间遇到过同样的问题。来自here

  

如果您没有将AllowOverride设置为All,则您的Laravel .htaccess文件(/public/.htaccess)将无法启用mod_rewrite,您的路线也无法正常工作。< / p>

尝试将以下内容添加到<VirtualHost>块中:

<Directory "/var/www/mylaravel/public">
    Options All
    AllowOverride All
    Allow from all
</Directory>

所以你们都有:

<VirtualHost *:80>
    ServerName mylaravel.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/mylaravel/public

    <Directory "/var/www/mylaravel/public">
        Options All
        AllowOverride All
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

答案 1 :(得分:0)

我找到了一些东西。我添加了Sadurnias代码并在终端

中运行

sudo a2enmod重写    sudo service apache2 restart

当然我将/ var / www的chmod更改为755。

它工作正常,只有当我运行mylaravel.com/css时,FireFox并没有结束这个请求,但其他人没问题。