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

nginx указывает поддомен на подпапку

я хочу http://blog.domain.com/ указать на http://www.domain.com/blog

Просто примечание, не для перенаправления в это место, но просто укажите на него.
Также / блог это не папка. Например, это может быть blog.php

Итак, когда я перейду к http://blog.domain.com, веб-сайт отображает контент из http://www.domain.com/blog

Что я пробовал до сих пор:

server{
  listen 80;
  server_name blog.domain.com;

  rewrite ^/blog(.*) http://blog.domain.com/$1 permanent;    
}

В результате возвращается nginx 404 Не Найдено ошибка.

Я стараюсь избегать регулярных выражений, потому что у меня это плохо получается. Возможно, попробуем:

  return 301 http://www.example.com/blog$request_uri;

Подводные камни - Сообщество Nginx

Будет установка root в каталог, который обслуживает www.example.com/blog, выполняет ту функцию, которую вы ищете?

server{
  listen 80;
  server_name blog.domain.com;
  root /path/to/blog;
}

Ваш синтаксис перезаписи неправильный. Вы хотите переписать корень во вложенную папку. В этом правиле вы переписываете папку / blog, что вам не нужно.

В .htaccess правило будет таким:

RewriteRule ^(.*)$ /blog/$1 [L]

Преобразуйте это в свой формат nginx.