Nginx:如何将根指向位于子目录中的 Ghost 博客?

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;
   }
 }

答案1

我明白了。只需要添加一条重写规则:

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;
}

相关内容