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

Nginx: как указать корень блога Ghost, расположенного в подкаталоге?

Я установил Ghost в blog/ каталог в корне моего сайта. Сайт работает как domain.com/blog/ и обслуживает статические файлы из public_html/ каталог (включая index.html). Я хотел бы иметь указатель на domain.com/blog/ без перенаправления URL-адреса (т.е. http://www.domain.com будет обслуживать главную страницу блога с http://www.domain.com/blog/).

Мой файл конфигурации:

 server {
   server_name domain.com www.domain.com;

   location / {
     root /var/www/domain.com/public_html;
     access_log /var/www/domain.com/logs/access.log;
     error_log /var/www/domain.com/logs/error.log;
     index index.html index.htm;
   }

   location ^~ /blog {
     proxy_set_header  X-Real-IP $remote_addr;
     proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header  Host      $http_host;
     proxy_set_header  X-NginX-Proxy true;

     proxy_pass        http://127.0.0.1:2368;
     proxy_redirect    off;
   }
 }

Я понял. Просто нужно было добавить правило перезаписи:

location / {
  root /var/www/domain.com/public_html;
  access_log /var/www/domain.com/logs/access.log;
  error_log /var/www/domain.com/logs/error.log;
  index index.html index.htm;
  rewrite ^/$ /blog/ last;
}