我有一个网站是在同一个服务器在不同的url(暂存),但现在我已经部署该网站和基地址(“/”)被redirect到loginurl(所以laravel有点工作) ,但后来我从Apache获得一个404错误。
如果我使用sub.domain.com/index.php/route,它的工作原理,但如果我使用sub.domain.com/routeredirect到login路线,并给出了一个404错误。
我还更改了routes.php以返回路由“/”中的login视图,并正确显示了login表单。
添加后
AllowOverride All
到虚拟主机配置,得到它的工作。 可能默认配置不允许重定向?
这是我的最后(和工作)的虚拟主机配置:
DocumentRoot /var/www/sitefolder/public serverName site.domain.com <Directory /var/www/sitefolder/public> AllowOverride All allow from all Options +Indexes </Directory>
这个问题可能来自你的Apache服务器中一个叫做rewrite模块的模块。 在Windows中,你可以取消你的httpd.conf中的这一行注释
#Loadmodulee rewrite_module modules/mod_rewrite.so
我正在运行Ubuntu 14.04并启用它使用
sudo a2enmod rewrite
尝试这些与Apache重新启动。 它可能也适合你。
对于VirtualHost
只添加这些行到你的apache的httpd.conf
中:
<Directory /var/www/sitefolder/public> AllowOverride All allow from all Options +Indexes </Directory>
或者你可以用第一行代替:
<Directory />
如果一切都不起作用,你可以尝试:
<Directory /> Options FollowSymLinks AllowOverride All Require all granted </Directory>