直到今天,我的WordPress多站点安装还不错。
今天早上,我决定将web服务器的内容从/var/www/html/
到/var/www/
.
我搜索了所有/var/www/html/
硬编码,并转储我的WordPress MySQL数据库以检查是否有指向它的链接。我在中找到的唯一文件/var/www/html/wordpress/
那就是WPCACHEHOME
进入wp-config.php
, 所以我改了。WordPress数据库中唯一的引用是recently_edited
条目,因此无需更改它。
移动后/var/www/html/*
到/var/www/
并调整Apache配置文件中的所有路径以指向/var/www/
而不是/var/www/html/
, 我重新启动了服务器并进行了检查。其他网页也可以,但是example.com/wordpress/
抛出403(禁止)错误。
我检查了我能想到的一切,在网上搜索了“wordpress multisite 403”,并检查了人们建议的一切(90%是关于权限的,9.9%是关于.htaccess
), 但什么都没用。我放弃了,把一切都恢复原样,但它仍然给出了403分。
我可以访问管理页面以及其他博客(例如。,example.com/wordpress/foobar/
), 这只是主要的博客(example.com/wordpress/
) 这是403。即使example.com/wordpress/index.php
给出相同的错误。
以下是我检查、测试、尝试和确认的内容:
- ✓ 浏览器缓存已清除✓ 所有者和组
/var/www/
它下面的一切都是www-data
- ✓ 下所有目录的权限
www
是775✓ 下所有文件(应可访问)的权限www
是664(否,将其分别设置为755和644将无法修复。)
wp-config.php
是否正确✓ 所有路径都包含尾部斜杠(/var/www/html/
).htaccess
尚未修改,但我尝试对其进行重命名,并将其替换为WPMU的新的、经确认正确的副本✓ wordpress/index.php
确实存在且未修改✓ WordPress数据库自上次运行以来未被触及✓ 未对WPMU格式(子目录/子域)进行任何更改✓ 下的唯一文件wordpress/
已修改的是wordpress/wp-config.php
(已恢复)wordpress/wp-content/cache/
已删除(blogs
, autoptimize
, 和supercache
) 但使用正确的权限和所有者重新创建(自动优化其文件夹中重新创建的目录和文件)/var/www/html/blogs//
? )