O nginx não possui a variável $0
, que é usada no Apache para toda a correspondência de padrões regex no Apache.
No nginx, você obtém a string equivalente usando $request_uri
.
Então, você deve usar uma configuração como esta:
charset utf-8;
autoindex off;
location ~ /\.* {
deny all;
}
location ~ /(?:application|modules|system) {
return 301 /index.php$request_uri;
}
# Try first the actual files, if they do not exist, then try $request_uri via 'index.php'.
try_files $uri $uri/ /index.php/$request_uri;
Eu também consertei a regex de arquivos ocultos aqui.