Prima di tutto, ho cercato di cercare domande simili, ma le soluzioni a quelle domande erano linee di codice specifiche, che non potevo personalizzare per adattarle alle mie esigenze.nginx riscrive tutto su index.php eccetto la whitelist
Ho un'installazione Codeigniter e sto provando a migrare da Apache a nginx. Tuttavia, in Apache il .htaccess era piuttosto semplice: avrebbe richiesto una whitelist e avrebbe riscritto tutto il resto a index.php
.
RewriteEngine on
RewriteCond $1 !^(index\.php|css|images|core|uploads|js|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
Tuttavia, in nginx, ho provato i se e try_files direttive, così come fare in giro con le posizioni, senza alcun risultato. Sono ancora nuovo su come nginx legge la configurazione del server, e le esercitazioni online erano un po 'confuse da seguire.
Inoltre, index.php non sarà nella radice Web, ma in una sottodirectory server
.
A causa di questo, ho anche bisogno di assicurarsi che anche richieste di URI che iniziano con/server non andare alla directory, ma per index.php
Questa è la mia configurazione dell'host virtuale nginx finora:
server {
listen 80;
server_name example.com;
root /home/example/public_html;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location/{
index index.htm index.html index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/example.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~* ^.*(/|\..*) {
try_files $uri $uri/ /server/index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Che aiuta a reindirizzare le richieste a index.php
, ma non ha una lista bianca. Gradirei se qualcuno potesse generare un esempio funzionante con una breve spiegazione di ciò che fa ogni parte.
Grazie, ha fatto il trucco! Analizzerò anche la cosa di pathinfo, mi sembra interessante. – xiankai
http://wiki.nginx.org/IfIsEvil http://wiki.nginx.org/Pitfalls – VBart
Secondo i documenti IfIsEvild, riscrivi ... ultimo; è sicuro, ma i suggerimenti sono (ovviamente, questo è un wiki di qualche tipo) accolti favorevolmente. – complex857