为Laravel 5.1配置Apache2

时间:2016-03-25 10:55:10

标签: php apache .htaccess laravel ubuntu

我使用ubuntu服务器并安装apache2。

我在laravel.conf上写道:

<VirtualHost *:80>
    ServerName localhost

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

    <Directory /var/www/html>
        AllowOverride All
    </Directory>

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

然后我重启Apache2。 并且不会工作...

我也在/html文件夹创建.htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On

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

也:  在/ pubic文件夹我添加.htaccess:

 <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews
        </IfModule>

        RewriteEngine On

        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)/$ /$1 [L,R=301]

        # Handle Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    </IfModule>

现在查看文件夹工作...所以当我去:/auth/login一切都很好我看到DOMhtml但是当我尝试点击登录后显示500错误: enter image description here

我如何解决我的问题? Apache2有什么问题?如何正确配置它们?

1 个答案:

答案 0 :(得分:1)

请勿更改.htaccess。试试这个:

<VirtualHost *:80>
    ServerName netracuni.com

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

    <Directory /var/www/html/public>
        AllowOverride All
    </Directory>

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

另外,在storage目录上设置写权限:

chmod -R 775 storage

重启Apache。

http://laravel-recipes.com/recipes/25/creating-an-apache-virtualhost

如果id不起作用,它会返回什么错误?