@Win32Sector

Можно ли переписать реврайты проще?

Доброго дня.

Сейчас переписываю конфиги apache на nginx.
И у меня вопрос, можно ли сделать проще?
Вот пример двух RewriteRule apache:

RewriteCond %{HTTP_HOST} ^www.example.com [NC]
    RewriteCond %{REQUEST_URI} /sitemap.xml [NC]
    RewriteRule .* sitemap/example/desktop/sitemap.xml [L]
    
    RewriteCond %{HTTP_HOST} ^example [NC]
    RewriteRule .* https://www.example.com%{REQUEST_URI} [R=301,L]


Вот я их переписал для nginx:

if ($http_host ~* "^www.example.com"){
    rewrite ^(.*)$ /sitemap/example/desktop/sitemap.xml break;
     }
     
    if ($http_host ~* "^example"){
    rewrite ^(.*)$ https://www.example.com$request_uri redirect;
    }


Можно ли как-то обойтись без if?
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dodo512
server {
    server_name example.com;

    return https://www.example.com$request_uri;
}

server {
    server_name www.example.com;
    
    location = /sitemap.xml {
        try_files /sitemap/example/desktop/sitemap.xml =404;
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы