查看上一篇内容:使用 Docker 安装 WordPress
不到黄河不死心,早先就想把 Wordpress 部署在子目录,前几天把捣鼓了差不多一天都没弄好,今天有捣鼓了大约三四个小时,如您所见,终于弄成现在这个样子了。
这次主要做了:
- 将 Wordpress 部署在了子目录。
- 还是用回原来的域名,https://lidong.me 这个域名就专门用来写点文章,整理资料,用别的域名捣鼓其他东西吧。
重点配置:
1.修改 nginx.conf
在 nginx.conf
中添加下面这段
location /wordpress/ {
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-Proto $scheme;
proxy_pass http://wordpress:80/; # <-- mind the trailing slash!
}
完整配置查看Github
2.修改 wp-config.php
在 wp-config.php
中添加下面的代码
// 写上篇文章就加上了,为了HTTPS访问
$_SERVER['HTTPS'] = '1';
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
// 定义网站域名,在Wordpress后台修改或数据库修改也可以
define('WP_HOME', 'https://lidong.me/wordpress');
define('WP_SITEURL', 'https://lidong.me/wordpress');
// 修复后台链接错误
$_SERVER['REQUEST_URI'] = str_replace("/wp-admin/", "/wordpress/wp-admin/", $_SERVER['REQUEST_URI']);
3.修改 .htaccess
完成上面的配置,如果使用固定链接,文章详情可能无法访问,出现 internal server error 的 500 错误,查看日志提示 Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary.
大概意思是重定向次数太多。修改 .htaccess
,找到一个解决办法,内容在 gist 上,用作者提供的 new .htaccess
替换原来就可以。
⚠️ 注意:每次在 Wordpress 的设置,常规选项等页面,修改保存操作,Wordpress 都会自动修改 .htaccess
的文件,还原我们设置,导致页面访问出错。所以修改了设置后,要注意检查页面是否访问正常~~
别问为什么,我也不知道为什么[摊手],查看原来作者的 Gist
更新记录
- 2018-01-10 01:25:24 首次发布
参考链接:
- https://wordpress.stackexchange.com/questions/191747/how-can-i-have-nginx-serve-wordpress-at-blog
- https://yuji.wordpress.com/2010/03/08/nginx-wordpress-proxy-subdirectory-to-wordpress-subdomain/
- https://docs.j7k6.org/wordpress-nginx-proxy-subdirectory/
- http://www.ur-ban.com/2015/07/27/nginx-proxy_pass-wordpress-in-a-sub-directory/