Назад | Перейти на главную страницу

Справка по перенаправлению Nginx

Я хотел использовать NginxHttpMapModule и NginxRedirect для перенаправления статических ссылок на динамические ссылки php.

Я хочу перенаправить http: //my_domain/static/static_page1.html к http: // имя_домена/dynamic/zone.php? zoneid = 86 поиском URL-адреса в таблице карты.

Я пробовал это, но это закончилось циклом перенаправления.

map_hash_bucket_size 256;
    map $uri $dynamic_url {
        default 42;
        /static/static_page1.html 86;
        /static/static_page2.html 36;
    }
    server {
        listen       80;     
        server_name  domain_name;
            rewrite ^ http://domain_name/dynamic/zone.php?zoneid=$dynamic_url break;
    }

Пожалуйста, помогите мне с этим. С уважением, Шайн

rewrite ^/static http://domain_name/dynamic/zone.php?zoneid=$dynamic_url break;

Скорее всего, там происходит то, что у вас нет серверного блока для domain_name. Поскольку вы используете server_name _, он будет перехватывать все запросы, для которых нет более конкретного блока сервера.

Итак, Nginx получает запрос, перезаписывает его, затем получает запрос в том же блоке сервера, и ваш бесконечный цикл начинается.