Jump to content
Sign in to follow this  
cecco

NGINX e riscrittura delle url e configurazione

Recommended Posts

Ciao a tutti!

NGINX mi sta facendo impazzire con questa riscrittura... :D

 

Prendendo a riferimento questo codice:

 

1     server {
2         listen       123.465.78.90:80;
3         server_name  www.sito.com sito.com;
4         access_log  logs/www.sito.com.access.log main;
5         error_log  logs/www.sito.com.error.log warn;
6         location / {
7           root     /var/www/html/www.sito.com;
8           index    index.html index.htm index.php;
9           if (!-e $request_filename){
10            rewrite ^/news/([^/]+)/([^/]+) /sezione.php?nomeurl=$1&nomeurl2=$2 last;
11            rewrite ^/pdf/([0-9]+)-([^/]+).pdf$ /notizia.php?id=$1&titolourl=$2&pdf=1 last;
12            rewrite ^/link http://www.sito.com permanent;
13            break;
14            rewrite ^/link/([^/]) http://www.sito.com permanent;
15            break;            
16          } 
17          rewrite ^/pdf/index.pdf$ http://www.sito.com permanent;
18          break;
19        }
20
21        location /admin/ {
22          auth_basic            "Area protetta";
23          auth_basic_user_file  /var/www/html/www.sito.com/.htpasswd;
24        }
25
26        location ~ \.php$ {
27          root     /var/www/html/www.sito.com;
28          include  fastcgi.conf;
29        }
30
31        location ~ \.htm$ {
32          root     /var/www/html/www.sito.com;
33          include  fastcgi.conf;
34          rewrite ^/([0-9]+)-([^/]+).htm$ /notizia.php?id=$1&titolourl=$2 last;
35        }
36    }

1) Per quale stra.....nissimo motivo, la riga 17 non ne vuole sapere di funzionare? Il file www .sito. com/pdf/index.pdf esiste, ma non funziona il redirect e la pagina pdf viene regolarmente servita.

 

2) Perché se sposto la riga 34 sotto la riga 12, la riscrittura non funziona più? Se ho capito la teoria, prima si esegue location / (riga 6), al quel punto se la riga 9 è valida (ed è vero), la riscrittura

rewrite ^/([0-9]+)-([^/]+).htm$ /notizia.php?id=$1&titolourl=$2 last;

dovrebbe avere effetto, ed invece nulla: se non la metto nell'ultimo blocco (location ~ \.htm$) non se ne parla

 

3) Qual'è la sintassi per accorpare gli ultimi due blocchi e far processare a php anche le estensioni .htm?

 

Che voi sappiate esiste un tutorial decente su queste riscritture, perché quelle sul sito le ho trovate molto disperse e dispersive...

 

Thanks!

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×