J'ai un script PHP qui gère le routage des scripts et fait toutes sortes de choses fantaisistes. Il a été initialement conçu pour Apache, mais j'essaie de le migrer vers nginx pour quelques-unes de mes boîtes. En ce moment, j'essaie de lisser les choses sur un serveur de test.
Donc, la façon dont le script fonctionne est qu'il intercepte tout le trafic HTTP pour le répertoire (dans Apache) à l'aide d'un .htaccess
fichier. Voici à quoi cela ressemble:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.+$ index.php [L]
</IfModule>
Assez simple. Toutes les demandes sont traitées de manière index.php
claire et simple.
Je cherche à imiter ce comportement sur nginx, mais je n'ai pas encore trouvé de moyen. Quelqu'un a des suggestions?
Voici une copie de mon nginx.conf
dossier en ce moment. Notez qu'il a été conçu pour moi juste pour essayer de le faire fonctionner; principalement un travail de copier / coller.
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
, par exemple cela fonctionnera/doesNotExist.ph
/doesNotExist.php