Проблема с персонализацией 404 ошибки

Halfi nginx-forum на nginx.us
Пт Окт 29 03:59:34 MSD 2010


Есть конфиг:

[code]
    location / {
        root   /var/www/mf;
        index  index.php;
        try_files $uri  $uri/ @shlcms;
        error_page  404 = @error;
    }
    location ~ /\.ht {
        return 404;
    }
    location @error {
        proxy_pass         http://$http_host/404/;
    }
[/code]


При реальной 404 ошибке работает
правильно, проксирует куда нужно, но
при срабатывании регекспа «/\.ht» где
стоит return 404 выдает дефултную страницу
ошибки энгинкса.

При таком варианте:
[code]
    location / {
        root   /var/www/mf;
        index  index.php;
        try_files $uri  $uri/ @shlcms;
        error_page  404 http://$http_host/404/;
    }
    location ~ /\.ht {
        return 404;
    }
[/code]
все отрабатывает как нужно, но не
проксирует, а редиректит на страницу
/404/.

Каким образом подправить, чтобы при
принудительном вызове 404 ошибки в location
открывалась моя кастомизированная
страница через проксирование?

И паралельный вопрос, можно ли
сократить такой регексп в один:
[code]
    location ~ /wyswyg/File/(.*)$ {
        rewrite  /wyswyg/File/(.*)$  http://$http_host/wyswyg/file/$1;
    }
    location ~ /wyswyg/Image/(.*)$ {
        rewrite  /wyswyg/Image/(.*)$ 
http://$http_host/wyswyg/image/$1;
    }
    location ~ /wyswyg/Flash/(.*)$ {
        rewrite  /wyswyg/Flash/(.*)$ 
http://$http_host/wyswyg/flash/$1;
    }
    location ~ /wyswyg/Media/(.*)$ {
        rewrite  /wyswyg/Media/(.*)$ 
http://$http_host/wyswyg/media/$1;
    }
[/code]

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,145489,145489#msg-145489




Подробная информация о списке рассылки nginx-ru