我正在运行Debian 9的Linode VPS上运行WordPress的自托管版本。
我之前在博客目录中使用WordPress,因为我有一个基本的HTML站点,我决定不再保留,所以我将所有内容移出博客,并在删除旧站点的内容后将所有内容放回根目录。
我遵循提供的步骤here 并更新了我的permalink设置,并使用Velvet Blues更新了我的URL,以及搜索和替换脚本来更新我的SQL数据库。
我从站点健康工具收到一些通知,说我的REST API和Jetpack设置工作不正常。同样,我尝试配置Yoast SEO来优化我的网站,但它不断返回错误。根据他们的article 我在Chrome的DOM控制台中打开了这个页面,收到了这个消息。
Error
/wp内容/插件/…min.css?ver=1.0.0:1加载资源失败:服务器响应状态为404()chrome extension://c…ihfbcag/inject。js:1开始。jquery迁移。min.js:2 JQMIGRATE:Migrate已安装,版本3.3.2errorpWirePro-press\\u rele…n-ajax-handler。js:1加载资源失败:服务器响应状态为404()错误/wp json/wp/v2/:1加载资源失败:服务器响应状态为404()wp api。min.js:2ierro/wp-json/yoast/v1/index/prepare:1加载资源失败:服务器响应状态为404()Error/wp-json/jetpack/v4/…pnonce=f0758236f2:1加载资源失败:服务器响应状态为404()chrome-extension://c…ihfbcag/inject。js:1开始。chrome extension://c…ihfbcag/inject。js:1开始。chrome extension://c…ihfbcag/inject。js:1开始。2/wp json/yoast/v1/indexing/prepare:1加载资源失败:服务器响应状态为404()Errorprwirepro-press\\u rele…ibution admin。css:1加载资源失败:服务器响应状态为404()
对press-rele的一些引用基于我安装的插件,这些插件使用的是blog目录。
更新1:我删除了一些插件,包括Jetpack和新闻稿发行版,错误变短了。唯一剩下的是Yoast,我想这是因为我改变了我的permalink结构。以前是
/index.php/%year%/%monthnum%/%day%/%post_id%/
我把它改为*/%post\\u name%/并使用了
redirect tool 将代码复制到我的中。htaccess文件。
此外,当我访问网站上的任何地方时,如http://www.sensation-experience.com/blah-blah-blah, 我看到的是来自Apache的通用404消息,而不是Wordpress中的Page not Found消息,我不知道这是为什么。
我曾尝试在多篇文章中寻找解决方案,但都是基于您在主机上的假设,这意味着您只能访问FTP文件夹和基于web的控制面板,而不能完全访问该框并自行完成所有操作。
更新2:我完全删除了我的WordPress网站,删除了数据库并创建了一个新的数据库。我使用WXR XML文件导入了WordPress内容。我可以访问WP Admin和其他控件,但当我单击主页上的任何页面时,我会收到Apache 404错误消息,而不是WordPress的404 not found页面。我尝试了几次更新permalink,但都没有效果。我还检查了。htaccess文件,但根据this article.
有人能给我一些关于如何修复这个问题的建议吗
SO网友:HeavenlyHarmony
这听起来可能是关于如何写入主Apache2配置文件和虚拟主机中的文件的问题。
将以下行添加到文件*/etc/apache2/sites available/hostname le ssl中。之前的配置
<Directory /var/www/html/hostname/public_html/>
AllowOverride All
然后重新启动apache2。
$ sudo systemctl restart apache2
/etc/apache2/sites中可用的文件已符号链接到/etc/apache2/sites启用。
ls -l /etc/apache2/sites-enabled/hostname-le-ssl.conf
lrwxrwxrwx 1 root root 65 May 26 2019 /etc/apache2/sites-enabled/hostname-le-ssl.conf -> /etc/apache2/sites-available/hostname-le-ssl.conf