Reputation: 1196
I have a site that is working on the same server in a different url (staging), but now I've deployed the site and the base url ("/") is redirected to the login url (so laravel is sort of working), but then I get a 404 error from apache.
If I use sub.domain.com/index.php/route, it works, but if I use sub.domain.com/route redirects to the login route and gives a 404 error.
I also changed the routes.php to return the login view in the route "/" and it show the login form correctly.
Upvotes: 17
Views: 35409
Reputation: 17597
For VirtualHost
Only add these lines into httpd.conf
of your apache:
<Directory /var/www/sitefolder/public>
AllowOverride All
allow from all
Options +Indexes
</Directory>
Or you can replace the first line with:
<Directory />
And if all doesn't work, you can try:
<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Upvotes: 7
Reputation: 1454
The problem might come from a module in your Apache server called rewrite module. in windows you can just uncomment this line from your httpd.conf
#LoadModule rewrite_module modules/mod_rewrite.so
I'm running Ubuntu 14.04 and enabled it using
sudo a2enmod rewrite
Try these with an Apache restart. It might work for you as well.
Upvotes: 33
Reputation: 1196
After adding
AllowOverride All
to the vhost configuration, got it working. Probably the default configuration wasn't allowing the redirects?
Here's my final (and working) vhost configuration:
DocumentRoot /var/www/sitefolder/public
ServerName site.domain.com
<Directory /var/www/sitefolder/public>
AllowOverride All
allow from all
Options +Indexes
</Directory>
Upvotes: 35