Ho uno script PHP che gestisce il routing degli script e fa ogni sorta di cose fantasiose. È stato originariamente progettato per Apache, ma sto provando a migrarlo su nginx per alcune delle mie scatole. In questo momento, sto cercando di appianare le cose su un server di prova.
Quindi il modo in cui funziona lo script è che intercetta tutto il traffico HTTP per la directory (in Apache) usando un .htaccess
file. Ecco come appare:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.+$ index.php [L]
</IfModule>
Abbastanza diretto. Tutte le richieste vengono eseguite index.php
, chiare e semplici.
Sto cercando di imitare quel comportamento su nginx, ma non ho ancora trovato un modo. Qualcuno ha qualche suggerimento?
Ecco una copia del mio nginx.conf
file al momento. Si noti che è stato progettato per me solo per provare a farlo funzionare; principalmente un lavoro di copia / incolla.
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;
}
}
}
.php
, per esempio questo funzionerà/doesNotExist.ph
/doesNotExist.php