2010-10-01 8 views
0

Мы просто перешли на новый сайт и хотим перенаправить старые ссылки там, где это необходимо, однако некоторые из них все еще работают. Например,nginx multi-stage 404 handling

/holidays/sku.html 

все еще не работает, в то время как

/holidays/christmas/ 

больше не работает. Я хотел бы быть в состоянии позволить сайт, чтобы попытаться служить страницу, а когда 404 будет достигнута, а затем попытаться передать его через серию регулярных выражений переадресовывает, который может выглядеть следующим образом:

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

I используя директиву ~ * location вместо прямого переписывания, потому что мы переходим с ASPX-сайта Windows на Magento с php-fpm за nginx, поэтому нам внезапно приходится беспокоиться о чувствительности к регистру.

Без использования вложенных директив местоположения (которые активно обескуражены документацией nginx) с помощью какого-либо метода @handler, как наилучшим образом разрешить nginx пытаться обслуживать страницу в первую очередь, ТОГДА пересылать ее через перенаправления, если она терпит неудачу?

Спасибо!

ответ