I recently moved a webapp, built using Laravel, to a rackspace cloud server.
The homepage resolves just fine as I have the root set in the apache config.
However, when a request is made to any of the routes, the server attempts to look for an actual file with the name of the route. For example:
If I request
www.mywebapp.com/login
The server error log shows
File Does Not Exist: /var/www/html/public/login
Part of my apache config
<Directory/>
Options FollowSymLinks
AllowOverride None
</Directory>
And my .htaccess which is located in the public folder
# Apache configuration file
# http://httpd.apache.org/docs/2.2/mod/quickreference.html
# Note: ".htaccess" files are an overhead for each request. This logic should
# be placed in your Apache config whenever possible.
# http://httpd.apache.org/docs/2.2/howto/htaccess.html
# Turning on the rewrite engine is necessary for the following rules and
# features. "+FollowSymLinks" must be enabled for this to work symbolically.
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
</IfModule>
# For all files not found in the file system, reroute the request to the
# "index.php" front controller, keeping the query string intact
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
This is my first web app so I am very new to all of these concepts and have no formal training. Constructive criticism please. All help is greatly appreciated.
Edit 1: .htaccess file corrected