我在Apache2上安装了最新的Laravel。我在终端
运行php artisan serve --port=8080
它有效。我有子页面和我需要的一切。但我想在不运行此命令的情况下进行访问。
我在/etc/apache2/sites-available
<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返回
当我使用php artisan [...]时,这很好用。我该如何解决?
答案 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)
sudo a2enmod重写 sudo service apache2 restart
当然我将/ var / www的chmod更改为755。
它工作正常,只有当我运行mylaravel.com/css时,FireFox并没有结束这个请求,但其他人没问题。