![Nginx:如何将根指向位于子目录中的 Ghost 博客?](https://linux22.com/image/649399/Nginx%EF%BC%9A%E5%A6%82%E4%BD%95%E5%B0%86%E6%A0%B9%E6%8C%87%E5%90%91%E4%BD%8D%E4%BA%8E%E5%AD%90%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%20Ghost%20%E5%8D%9A%E5%AE%A2%EF%BC%9F.png)
我已将 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;
}