注意:谷歌翻译从葡萄牙语翻译成英语,对不起......
我试图把一个wordpress网站放在网上,因为wordpress的根已经在一个子目录中(例如: webplace.example.br/subdirectory/
< - root-wordpress),但每次我设置多站点并尝试使用它们时,它开始给出问题 . 我正在使用带有nginx:alpine的容器作为反向代理,对于同一主机上的另一个容器wordpress:php7.2,我在nginx中使用此设置:
注2:不是wordpress我只是想在网上 Build 一个基地,我不打算创建/编辑网站 .
server {
listen 80;
server_name webplace.example.br;
location /subdirectory/ {
proxy_pass http://container_wordpress:80/subdirectory/;
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 X-Forwarded-Host $server_name;
}
}
在得到这么多之后,我最终在wordpress容器中的/etc/apache2/apache2.conf中创建了一个别名,如下所示:
...
Alias /subdirectory /var/www/html
<Directory "/var/www/html">
Options +Indexes
AllowOverride All
</Directory>
...
正常安装后,我已按照以下步骤激活多站点:
1,在 wp-config.php
文件的 /* That's all...
上方添加以下行:
define ('WP_ALLOW_MULTISITE', true);
第2次,我更新页面后不久,它就在工具>安装网络中,它给出了'ok',它将此文本添加到先前在同一文件中输入的行的下方:
define ('MULTISITE', true);
define ('SUBDOMAIN_INSTALL', false);
define ('DOMAIN_CURRENT_SITE', 'webplace.example.br');
define ('PATH_CURRENT_SITE', '/subdirectory/');
define ('SITE_ID_CURRENT_SITE', 1);
define ('BLOG_ID_CURRENT_SITE', 1);
3,这部分在 .htaccess
,评论其他一切:
RewriteEngine On
RewriteBase /subdirectory/
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) var/www/html/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ var/www/html/$2 [L]
RewriteRule . index.php [L]
有了这个,网站继续正常工作,但是当我创建另一个网站时,我把一些东西放进去,我尝试访问它,网站全部破碎,没有样式,只有纯文本,当我尝试访问时它变得更糟来自多站点的wp-admin它甚至没有打开并且说它重定向太多,以便知道网址看起来像 webplace.example.br/subdirectory/<multisite>/wp-admin
.
Can anyone see a light at the end of the tunnel or do you think it will never work?
注3:我已经尝试了几个教程,但它们从未涵盖我使用的所有内容(反向代理(nginx),子目录,多站点,容器,wordpress(apache)),使它们无法正常工作 .
注4:我有可能没有正确理解或实现教程解决方案 .
注5:我也接受的另一种实现方式 .
1 回答
试试这个:
为您的wordpress实例创建一个子域名,例如
blog.example.com
.在NGINX反向代理上设置子域以指向您的wordpress容器
通过
blog.example.com
子域安装WordPress更新您的反向代理,以便
/blog
也指向您的wordpress容器您的wordpress将通过
blog.example.com
和example.com/blog
访问 .当您访问
example.com/blog
时,所有wp-includes / wp-content将通过blog.example.com
网站加载,而WordPress将继续让访问者点击example.com/blog
网站上剩余的内容