Eu recentemente movi uma aplicação web, construída usando o Laravel, para um servidor em nuvem rackspace.
A página inicial resolve bem, pois tenho a raiz definida na configuração do apache.
No entanto, quando uma solicitação é feita para qualquer uma das rotas, o servidor tenta procurar um arquivo real com o nome da rota. Por exemplo:
Se eu solicitar
www.mywebapp.com/login
O log de erros do servidor mostra
File Does Not Exist: /var/www/html/public/login
Parte da configuração do meu apache
<Directory/>
Options FollowSymLinks
AllowOverride None
</Directory>
E meu .htaccess que está localizado na pasta pública
# 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>
Este é meu primeiro aplicativo da web, por isso sou muito novo em todos esses conceitos e não tenho treinamento formal. Crítica construtiva, por favor. Toda ajuda é muito apreciada.
Editar 1: arquivo .htaccess corrigido