【发布时间】:2019-02-07 16:28:57
【问题描述】:
我正在尝试将 Wordpress 安装在 Laravel 项目的“/public”以外的其他文件夹中。
laravel 路径: /home/forge/domain.com/
Wordpress 路径: /home/forge/blog.domain.com/
但我想使用这个 url 而不是子域: domain.com/blog
【问题讨论】:
我正在尝试将 Wordpress 安装在 Laravel 项目的“/public”以外的其他文件夹中。
laravel 路径: /home/forge/domain.com/
Wordpress 路径: /home/forge/blog.domain.com/
但我想使用这个 url 而不是子域: domain.com/blog
【问题讨论】:
您可以在 nginx 配置文件中使用 location 部分:
location ^blog/ {
root /home/forge/blog.example.com;
//your regular nginx configuration
}
您也可以使用反向代理。这意味着您必须将博客放在不同的 URL(如 blog.domain.com)上,然后将 blog/ 指向该 URL。例如:
location ^blog/ {
sub_filter_types *;
sub_filter_once off;
sub_filter 'blog.example.com' 'www.example.com/blog';
proxy_pass http://blog.example.com/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;
proxy_set_header Accept-Encoding "";
proxy_redirect http://blog.example.com http://www.example.com;
}
子过滤器会重写 html 输出中的所有 URL。 proxy_redirect 确保 cookie 和标头也得到更正。
【讨论】: