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

Nginx перезаписывает поддомен в подкаталог без изменения URL

Некоторое время я использую Appserv, а пока перешел на Nginx. Когда я запускал свой веб-сайт в Appache, у меня была эта конфигурация в файле .htaccess, чтобы связать поддомен с подкаталогом.

#Redirect API subdomain to API folder
RewriteCond %{HTTP_HOST} ^api\.domain\.com$
RewriteCond %{REQUEST_URI} !^/request/
RewriteRule (.*) /request/$1

Я попытался добавить эту конфигурацию в файл nginx.conf, чтобы сделать то же самое:

location ^~ /request/ {
    rewrite ^/request/(.*) http://api.example.com/$1 permanent;
}

Похоже, это не работает, так как меня перенаправляют на URL-адрес основного домена. Как мне это удается в Nginx?

есть несколько разных способов сделать это, но я предпочитаю, чтобы их было легко читать:

    location / {
        if ($http_host = api.domain.com) {
            try_files /request$uri =404;
        }
    }

Документация nginx, конвертирующая правила перезаписи Apache.