Vis*_*ish 6 wordpress nginx proxypass docker
我正在向我们在 Nginx 上运行的现有网站添加 Dockerized 博客堆栈(Wordpress + MariaDB)。location /已经为网站提供服务,我被指示向 Nginx 配置添加逻辑,/blog将所有流量重定向到 Docker 容器。
localhost:9999在服务器上启动了 wordpress 容器。
location ^~ /blog {
proxy_pass http://localhost:9999;
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-Forwarded-Proto $scheme;
}
问题:
Wordpress 重定向http://server/blog到http://wp-admin/install.php,由于没有相关规则,因此我收到了 404。
我更改了locationto 进程/blog以及任何包含wp-.*. 假设所有 Wordpress 页面都具有该 URL。
location ~ ^/(blog|wp-.*) {
这通过 Wordpress 设置起作用。如果我明确访问,http://server/wp-admin我可以转到博客管理页面。
问题:
http://server/?p=31是指向博客文章的链接。只是为了它,我重定向location /到 Docker 容器,博客运行良好。但遗憾的是,这不是我的问题陈述。
为了满足来自所有 wordpress 特定的请求,我接下来该怎么做?当这里可能有更优雅的解决方案时,我觉得我陷入了与正则表达式搏斗的循环。
根据自我回答的SO问题/sf/answers/2903584351/
// add these lines to wp-config.php
define('WP_SITE_URL', 'http://example.com/blog');
define('WP_HOME', 'http://example.com/blog');
$_SERVER['REQUEST_URI'] = '/blog' . $_SERVER['REQUEST_URI'];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2020 次 |
| 最近记录: |