Rewrite rules from Apache again
Luciano Mannucci
luciano at vespaperitivo.it
Wed Jun 11 16:20:50 UTC 2014
On Tue, 10 Jun 2014 22:43:05 +0100
Francis Daly <francis at daoine.org> wrote:
> The rest of the config?
:)
Well, I've posted it in my previous request for help. Beeing
longish I tried to spare some bandwith... :)
>
> ==
> server {
> rewrite ^/(.*)_k(.*).htm$ /pagina.php?k=$2 ;
> rewrite ^/privacy.php$ /pagina.php?k=privacy ;
Wow!
I had it under "location /"
Moving it to "server" level and adding a "break" seems to make it work!
> location = /pagina.php {
> return 200 "I got $uri$is_args$args from $request_uri\n";
> }
Many thanks for this elegant way of debugging this kind of
configuration problems.
> What do you have that is different?
Another problem :(
If I try the same thing in a subdirectory, it doesn't work.
In the error log I get:
2014/06/11 17:51:46 [error] 602#0: *264 FastCGI sent in stderr: "Primary script
unknown" while reading response header from upstream, client: 212.121.88.183,
server: new.assirm.it, request: "GET /en/privacy.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9004", host: "new.assirm.it", referrer: "http://new.assirm.it/en/history_khistory.htm"
It seems that the "location =" that I've put to intercept the rewrite
doesn't match.
My configuration, now looks like this:
server {
listen 212.45.144.216:80 default_server;
server_name new.assirm.it test.assirm.it;
access_log /dati/log/http/assirm/access.log;
error_log /dati/log/http/assirm/error_new.log;
rewrite_log on;
rewrite ^/ultime-news.php$ /archivio-news.php?last=1 ;
rewrite ^/(.*)_news(.*).htm$ /news.php?id=$2 ;
rewrite ^/(.*)_ev(.*).htm$ /evento.php?id=$2 ;
rewrite ^/(.*)_att(.*).htm$ /attivita.php?id=$2 ;
rewrite ^/(.*)_k(.*).htm$ /pagina.php?k=$2 ;
rewrite ^/(.*)_sk(.*).htm$ /stampa-contenuto.php?k=$2 ;
rewrite ^/(.*)_sn(.*).htm$ /stampa-news.php?id=$2 ;
rewrite ^/(.*)_a(.*).htm$ /associato.php?id=$2&$args ;
rewrite ^/(.*)_p(.*).htm$ /mypost.php?id=$2&$args ;
rewrite ^/ricerca-(.*).htm$ /risultati.php?s=$1&goo=1 ;
rewrite ^/privacy.php$ /pagina.php?k=privacy break;
location ~ \.php$ {
root /dati/httpd/web_assirm/sito_nginx;
fastcgi_pass 127.0.0.1:9004;
fastcgi_index index.php;
include /etc/nginx/fastcgi.conf;
}
location / {
root /dati/httpd/web_assirm/sito_nginx;
index index.html index.htm index.php home.html welcome.html;
}
location ^~ /en/ {
root /dati/httpd/web_assirm/sito_nginx;
index index.html index.htm index.php home.html;
rewrite ^/en/ultime-news.php$ /en/archivio-news.php?last=1 ;
rewrite ^/en/(.*)_news(.*).htm$ /en/news.php?id=$2 ;
rewrite ^/en/(.*)_ev(.*).htm$ /en/evento.php?id=$2 ;
rewrite ^/en/(.*)_att(.*).htm$ /en/attivita.php?id=$2 ;
rewrite ^/en/(.*)_k(.*).htm$ /en/pagina.php?k=$2 ;
rewrite ^/en/(.*)_sk(.*).htm$ /en/stampa-contenuto.php?k=$2 ;
rewrite ^/en/(.*)_sn(.*).htm$ /en/stampa-news.php?id=$2 ;
rewrite ^/en/(.*)_a(.*).htm$ /en/associato.php?id=$2&$args ;
rewrite ^/en/(.*)_p(.*).htm$ /en/mypost.php?id=$2&$args ;
rewrite ^/en/(.*)_wit(.*).htm$ /en/wit.php?c=$2&$args ;
rewrite ^/en/ricerca-(.*).htm$ /en/risultati.php?s=$1&goo=1 ;
rewrite ^/en/privacy.php /en/pagina.php?k=privacy ;
location = /en/pagina.php {
return 200 "I got $uri$is_args$args from $request_uri\n";
}
location ~ \.php$ {
index index.html index.htm index.php home.html;
fastcgi_pass 127.0.0.1:9004;
fastcgi_index index.php;
include /etc/nginx/fastcgi.conf;
}
}
}
--
/"\ /Via A. Salaino, 7 - 20144 Milano (Italy)
\ / ASCII RIBBON CAMPAIGN / PHONE : +39 2 485781 FAX: +39 2 48578250
X AGAINST HTML MAIL / E-MAIL: posthamster at sublink.sublink.ORG
/ \ AND POSTINGS / WWW: http://www.lesassaie.IT/
More information about the nginx
mailing list