powerthrash
@powerthrash

Как сделать редирект в nginx с помощью try_files?

Приветствую!

У меня есть сайт работающей на связке LAMP + nginx в качестве прокси. Как сделать редирект с помощью try_files, чтобы при обращении на несуществующий адрес происходило перенаправление на index.php? Например www.example.com/unknown должно вместо 404 перенаправить на главную страницу сайта.
Конфиг nginx:

server {
listen 80;
server_name example.com www.example.com;

access_log off;
#access_log /srv/www/example.com/logs/example.com-acc main;
error_log /srv/www/example.com/logs/example.com-err;

client_max_body_size 256m;

location / {
try_files $uri /index.php$is_args$args; # redirect to index
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_read_timeout 300;
proxy_buffer_size 16k;
proxy_buffers 32 16k;
}

location ~* \.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|avi|djvu|mp3|mp4|ogv|3gp|otf)$ {
root /srv/www/example.com/htdocs/public;
}
}
  • Вопрос задан
  • 746 просмотров
Пригласить эксперта
Ответы на вопрос 1
DmitryVoronkov
@DmitryVoronkov
Python Developer
Если у тебя на сайте есть обработчик ошибок, который возвращает страницу ошибок вида site.com/page404
То сделай, с этой страницы редирект:
location /page404 {
try_files $uri /index.php
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы