Есть конфиг:
[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]