Eu tenho um script PHP que lida com roteamento de scripts e faz todo tipo de coisas sofisticadas. Ele foi originalmente projetado para o Apache, mas estou tentando migrá-lo para o nginx para algumas das minhas caixas. No momento, estou tentando facilitar as coisas em um servidor de teste.
Portanto, a maneira como o script funciona é que ele intercepta todo o tráfego HTTP do diretório (no Apache) usando um .htaccess
arquivo. Aqui está o que parece:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.+$ index.php [L]
</IfModule>
Bem direto. Todas as solicitações são executadas index.php
, pura e simplesmente.
Estou procurando imitar esse comportamento no nginx, mas ainda não encontrei uma maneira. Alguém tem alguma sugestão?
Aqui está uma cópia do meu nginx.conf
arquivo no momento. Observe que ele foi projetado para eu apenas tentar fazê-lo funcionar; principalmente um trabalho de copiar / colar.
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type text/plain;
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name swingset.serverboy.net;
access_log /var/log/nginx/net.serverboy.swingset.access_log;
error_log /var/log/nginx/net.serverboy.swingset.error_log warn;
root /var/www/swingset;
index index.php index.html;
fastcgi_index index.php;
location ~ \.php {
include /etc/nginx/fastcgi_params;
keepalive_timeout 0;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}
}