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

nginx (последний / перерыв) перезаписывает

У меня есть простая перезапись nginx, используя постоянный флаг, работает нормально.

location /area1/ {
rewrite /area1/(.*)$ / permanent;
}

Однако я хочу сохранить исходный URL-адрес, который, судя по исследованиям, просто нуждается в последний или перерыв вместо этого флаг.

location /area1/ {
rewrite /area1/(.*)$ / break;
}

После смены перманента на перерыв (или последний), он просто полностью игнорирует перенаправление.

Пожалуйста, может ли кто-нибудь продемонстрировать работающее внутреннее перенаправление, которое сохраняет исходный URL-адрес - я знаю, что это должно быть просто, но я пробовал множество вариантов конфигурации, описанных выше, и ничего не работает, перенаправление было более сложным для начала, но я уменьшил его в его базовую форму, чтобы получить правильный синтаксис, и я все еще терплю неудачу ...

Среди многих страниц, на которые я ссылался, это одна - https://www.nginx.com/blog/creating-nginx-rewrite-rules/

    server {
       listen        80;
        root         /usr/share/nginx/html;
        access_log   /var/log/nginx/root_host.access.log  main;
        error_log    /var/log/nginx/root_host.error.log;


location /area1/ {
rewrite /area1/(.*)$ / break;
}



if (!-e $request_filename) {
    rewrite /wp-admin$ $scheme://$host$uri/ permanent;
    rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
    rewrite ^/[_0-9a-zA-Z-]+(/.*\.php)$ $1 last;
}

        location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        try_files $uri $uri/ /index.php?$query_string;
        }


location / {
    try_files $uri $uri/ /index.php?$args;
}


}

Ваш rewrite ... last на самом деле ничего не делает.

Вы внутренне переписываете /area1/ к / который затем внутренне переписывается на /index.php к последнему try_files заявление.

Без location /area1/ блок присутствует, /area1/ внутренне переписан на /index.php к последнему try_files заявление.