2010-10-01 3 views
0

Nous venons de passer à un nouveau site, et nous souhaitons rediriger les anciens liens si nécessaire, mais certains fonctionnent encore. Par exemple,nginx multi-stage 404 handling

/holidays/sku.html 

fonctionne toujours, alors que

/holidays/christmas/ 

ne fonctionne plus. Je voudrais être en mesure de permettre au site de tenter de servir une page, et quand 404 est atteint, puis essayez de passer à travers une série de redirections regex, qui peuvent ressembler à:

location ~* /holidays/(.*)+$ { set $args ""; rewrite^/holidays.html?r=1 redirect; } 

I J'utilise une directive de localisation ~ * au lieu de faire une réécriture directe parce que nous passons d'un site ASPX basé sur Windows à Magento avec php-fpm derrière nginx, donc nous devons soudainement nous soucier de la casse. Sans utiliser de directives d'emplacement imbriquées (qui sont activement déconseillées par la documentation nginx) avec un @handler quelconque, quelle est la meilleure façon de permettre à nginx de servir la page en premier, puis de la passer en traversant les redirections?

Merci!

Répondre