location / {
# try to serve file directly, fallback to rewrite
try_files $uri @rewriteapp;
}
location @rewriteapp {
# rewrite all to app.php
rewrite ^(.*)$ /app.php/$1 last;
}
A primeira parte parece ser a única reescrita. Isto parece que poderia ser escrito da seguinte forma usando mod_rewrite no Apache na raiz .htaccess
file:
# Enable trailing pathname information (if not already)
AcceptPathInfo On
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /app.php/$0 [L]
Reescreva internamente todas as solicitações que não mapeiam arquivos físicos ou diretórios para /app.php/<requested-url-goes-here>
.
Como isso usa informações do caminho à direita na URL ( /$0
), você precisa ter certeza de que o servidor permite isso, caso contrário, você receberá um 404 Not Found imediatamente. No entanto, isso geralmente é ativado por padrão (embora dependa do manipulador).