我有这个规则在服务器块中工作正常,但在位置块中生成404错误。我无法理解为什么。
# Thumbnails [image_path]/[width]x[height]/[quality]/[image_name]
rewrite ^(.+)\/(\d*)x(\d*)\/(\d+)(\/.+\.(?:jpe?g|png|gif))$ /path/to/script/timthumb.php?src=$1$5&w=$2&h=$3&q=$4 last;
为什么会这样?
如果我在location / { ... }
下找到此规则,则会停止工作。
这是完整配置:
# redirect from non-www to www
# uncomment, save file and restart Nginx to enable
server {
server_name architetturaecosostenibile.it;
include /usr/local/nginx/conf/custom/varnish.conf;
return 301 $scheme://www.architetturaecosostenibile.it$request_uri;
}
server {
server_name www.architetturaecosostenibile.it;
include /usr/local/nginx/conf/custom/varnish.conf;
include /usr/local/nginx/conf/custom/pagespeed.conf;
# Redirect old HTML pages
rewrite ^(/.+)\.html?$ $scheme://$host$1 permanent;
# Thumbnails
rewrite ^(.+)\/(\d*)x(\d*)\/(\d+)(\/.+\.(?:jpe?g|png|gif))$ /plugins/system/fl/libraries/timthumb.php?src=$1$5&w=$2&h=$3&q=$4 last;
# ngx_pagespeed & ngx_pagespeed handler
#include /usr/local/nginx/conf/pagespeed.conf;
#include /usr/local/nginx/conf/pagespeedhandler.conf;
#include /usr/local/nginx/conf/pagespeedstatslog.conf;
# limit_conn limit_per_ip 16;
# ssi on;
access_log /home/nginx/domains/architetturaecosostenibile.it/log/access.log combined buffer=32k;
error_log /home/nginx/domains/architetturaecosostenibile.it/log/error.log;
root /home/nginx/domains/architetturaecosostenibile.it/public;
location / {
include /usr/local/nginx/conf/custom/sh404sef.conf;
# Xmap
rewrite ^/sitemap.xml/?$ /index.php?option=com_xmap&view=xml&tmpl=component&id=1 last;
# JCH Optimize
rewrite ^(.*?)(test_mod_rewrite) /$1media/plg_jchoptimize/assets/modrewrite.php?q=$2;
rewrite ^(.*?)(gz|nz)/([^/]+)/([^/]+)/([^/]+)\.(js|css)$ /$1media/plg_jchoptimize/assets/jscss.php?f=$5&type=$6&gz=$2&d=$3&i=$4;
# Errori nella stesura degli articoli
rewrite ^/\s?(?:http://?)?www\.architetturaecosostenibile.it(.*)$ $1 permanent;
rewrite ^(.*)/\{\{i\}\}/?$ $1 permanent;
rewrite ^(.*)\s+\/?$ $1 permanent;
# Redirect fintanto che SEF Advance non funziona
rewrite ^(.*)\?device=desktop$ $1 permanent;
rewrite ^/feed/?/?$ /rss.feed permanent;
rewrite ^(.*)/feed/rss/?$ $1/rss.feed permanent;
rewrite ^(.*)/feed/atom/?$ $1/atom.feed permanent;
rewrite ^/ricerca/?$ /cerca permanent;
rewrite ^/redazione/antonia-guerra/?$ /ae/redazione/antonia-guerra permanent;
rewrite ^/scrivi-per-architettura-ecosostenibile/?$ /ae/proponiti/ permanent;
rewrite ^/eco/eco-architetti/?$ /eco permanent;
rewrite ^/sitemap-1/?$ /mappa-sito permanent;
rewrite ^/password-dimenticata/?$ /utenti/remind permanent;
rewrite ^/rsform/?$ / permanent;
rewrite ^/inviare-comunicati-stampa/?$ /comunicati permanent;
rewrite ^/renzo-piano/?$ /ae/progettisti/renzo-piano permanent;
rewrite ^/normative/leggi-e-decreti/?$ /normative/leggi-decreti permanent;
rewrite ^/pubblicizzare-prodotti-azienda-ecosostenibile/?$ /ae/pubblicita permanent;
rewrite ^/architettura/progetti/in-europa/casa-zeb-sostenibile-085/?$ /architettura/progetti/in-europa/casa-zeb-snohetta-085/ permanent;
rewrite ^/segnala-eco-mostro/?$ /eco/mostri/ permanent;
rewrite ^/links-newsletter/(.+)$ /ae/newsletter/ permanent;
# Adattamento voci sh404sef per SEF Advance
rewrite ^/progettista/\d+-(.+)/?$ /ae/progettisti/$1/ permanent;
rewrite ^/progetto/\d+-(.+)/?$ /ae/progetti/$1/ permanent;
rewrite ^/progetti(.*)/?$ /ae/progetti$1 permanent;
rewrite ^/autore/\d+-(.+)/?$ /ae/redazione/$1/ permanent;
rewrite ^/newsletter/?$ /ae/newsletter/ permanent;
rewrite ^/staff/?$ /contatti/staff/ permanent;
rewrite ^/redazione/staff/?$ /ae/redazione/about/ permanent;
rewrite ^/redazione/?$ /ae/redazione/ permanent;
rewrite ^/pubblicita/?$ /ae/pubblicita/ permanent;
rewrite ^/scrivi/?$ /ae/proponiti/ permanent;
rewrite ^/entra/?$ /utenti/login/ permanent;
rewrite ^/(antonia-guerra|federico-liva|anellina-chirico)/?$ /contatti/staff/$1/ permanent;
rewrite ^/tag/\d+-(.+)/?$ /tags/tag/$1/ permanent;
# Reindirizza gli articoli duplicati da SP Upgrade
rewrite ^(.+)-sp-\d+$ $1 permanent;
# TimThumb
rewrite ^(.+)/thumb/(\d+)x(\d+)$ /templates/architetturaecosostenibile/lib/timthumb.php?src=$1&w=$2&h=$3;
rewrite ^(.+)/thumb/(\d+)$ /templates/architetturaecosostenibile/lib/timthumb.php?src=$1&w=$2;
# Spostamento categorie In Italia, In Europa, Nel Mondo in Progetti > ...
rewrite ^(.*)/architettura/(nel-mondo|in-italia|in-europa)/(.*)$ $1/architettura/progetti/$2/$3 permanent;
# Incorporazine categoria Rhome For Dencity in Progetti > In Italia
rewrite ^(.*)/rhome-for-dencity/(.*)$ $1/progetti/in-italia/$2 permanent;
# Spostamento Curiosità > Varie in Green Life > Curiosità Ecosostenibili
rewrite ^/curiosita/varie/(.*)$ /green-life/curiosita-ecosostenibili/$1 permanent;
# Spostamento Curiosità in Green Life > Curiosità Ecosostenibili
rewrite ^/curiosita/?$ /green-life/curiosita-ecosostenibili/ permanent;
# Spostamento Turismo > Turismo Ecosostenibile in Green Life > Turismo
rewrite ^/turismo/turismo-ecosostenibile/(.*)$ /green-life/turismo/$1 permanent;
# Sposto Staff > Team in Redazione > Staff
rewrite ^/staff/team/?$ /redazione/staff permanent;
# Cambiamento indicatore pagina "Page-N" a nuovo indicatore "pagina-N"
rewrite ^(.*/)Page-(\d+)$ $1pagina-$2 permanent;
# /ae/progetti/* in /ae/mappa-progetti/*
rewrite ^/ae/progetti(?!sti)(.+)? /ae/mappa-progetti$1 permanent;
# ripristino di /mappa-progettisti in /progettisti
rewrite (.+)mappa-(progettisti.+) $1$2 permanent;
# Rimuovi contenuti duplicati con ?device=desktop
if ($arg_device = desktop) {
return 301 $uri;
}
# block common exploits, sql injections etc
include /usr/local/nginx/conf/block.conf;
# Enables directory listings when index file not found
#autoindex on;
# Shows file listing times as local time
#autoindex_localtime on;
# Enable SEF for Joomla
try_files $uri $uri/ /index.php?q=$request_uri;
}
include /usr/local/nginx/conf/staticfiles.conf;
include /usr/local/nginx/conf/php.conf;
include /usr/local/nginx/conf/drop.conf;
#include /usr/local/nginx/conf/errorpage.conf;
}