我们使用的是wordpress Docker映像,但是在它前面有一个代理,该代理将具有/ blog / wp前缀的流量发送给它。
就wordpress(和Docker入口点脚本)而言,Wordpress文件位于文档根目录中。到目前为止,我们还无法使它正常工作。我在Internet上找到的所有信息均假定Wordpress实际上位于文档根目录的子目录中。
我们已经尝试过调整WP_SITEURL和WP_HOME常量,并尝试设计一些mod_rewrite魔术,但到目前为止没有任何运气。
因此在容器中,虚拟主机的配置如下:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
RewriteEngine on
LogLevel info rewrite:trace8
<Directory /var/www/html>
Require all granted
AllowOverride All
Options -Indexes
</Directory>
</VirtualHost>
在Wordpress服务之前,使用了Varnish:
backend blog_wp {
.host = "blog_wp";
.port = "80";
}
...
sub vcl_recv {
if (req.url ~ "^/blog/wp/?") {
set req.backend_hint = blog_wp;
}
}
相关的.htaccess:
RewriteEngine On
RewriteBase /blog/wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
相关的wp-config.php
define( 'WP_HOME', 'https://the.hostname/blog/wp' );
define( 'WP_SITEURL', 'https://the.hostname/blog/wp' );