WordPress 迁移后只有主页加载其他所有内容 returns a 404
After WordPress migration only home page loads everything else returns a 404
从 Digital Ocean 上的 droplet 开始,到目前为止这是一个有趣的过程。现在我想开始迁移我的站点,所以我设置了所有内容并创建了一个 index.php
到我的根目录的位置作为 "construction" 页面。我在子目录中设置 WordPress,并通过 all-in-one WP Migration
移动所有内容,这对我来说一直很有效。
我已经给出了 root/public_html
(WordPress 安装)rwx
中的每个目录和文件,并且 atm 所有权已更改为 www-data
。所以我必须加载我的站点,atm 类似于 <ip address>/public_html
,然后我登录,系统提示 wp-admin
屏幕。一切正常,媒体文件已上传,主题已存在等
当我转到我的主页时,所有图像都已加载,但我立即注意到顶部的管理栏,wp-glyphs 没有加载,当您 computer/phone 不知道它想看什么。除了我的主页 returns 之外的任何前端页面也是 404。我的主页再次被 <ip address>/public_html
访问,所以你会认为我的 about
页面将是 <ip address>/public_html/about
,这是单击时 WordPress 将我发送到的位置,但我收到 404。
我现在大概花了 4-5 个小时试图弄清楚这个问题,并最终求助于指南 that walks you through it 但到目前为止还没有。
谁能给个建议?
编辑
我想补充一点,我按照 WordPress 的说明修改了 .htaccess 文件。我假设它位于正确的子目录中?
.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /public_html/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /public_html/index.php [L]
</IfModule>
您可以访问 wp-admin
如果是,则转到仪表板->设置->永久链接
并更新固定链接,问题就解决了
通过登录 wp-admin 访问您的仪表板,然后访问设置,然后永久链接,将它们更改为任何提供的样式,再次保存更改为您喜欢的样式。这会很好用。
仅供我自己和任何可能偶然发现此内容的人参考。
解决方案
答案是 apache 没有正确配置来读取 .htaccess
文件。如果您遇到同样的问题并且已经设置了自己的 VPS,请转到 apache.conf
、etc/apache2/apache.conf
并找到与您的网站目录相对应的正确 <Directory></Directory>
指令。在里面,您应该会看到一个显示为 AllowOverride None
的选项。将其更改为 AllowOverride All
.
如果这不是您的解决方案,至少它是另一种方式。
从 Digital Ocean 上的 droplet 开始,到目前为止这是一个有趣的过程。现在我想开始迁移我的站点,所以我设置了所有内容并创建了一个 index.php
到我的根目录的位置作为 "construction" 页面。我在子目录中设置 WordPress,并通过 all-in-one WP Migration
移动所有内容,这对我来说一直很有效。
我已经给出了 root/public_html
(WordPress 安装)rwx
中的每个目录和文件,并且 atm 所有权已更改为 www-data
。所以我必须加载我的站点,atm 类似于 <ip address>/public_html
,然后我登录,系统提示 wp-admin
屏幕。一切正常,媒体文件已上传,主题已存在等
当我转到我的主页时,所有图像都已加载,但我立即注意到顶部的管理栏,wp-glyphs 没有加载,当您 computer/phone 不知道它想看什么。除了我的主页 returns 之外的任何前端页面也是 404。我的主页再次被 <ip address>/public_html
访问,所以你会认为我的 about
页面将是 <ip address>/public_html/about
,这是单击时 WordPress 将我发送到的位置,但我收到 404。
我现在大概花了 4-5 个小时试图弄清楚这个问题,并最终求助于指南 that walks you through it 但到目前为止还没有。
谁能给个建议?
编辑
我想补充一点,我按照 WordPress 的说明修改了 .htaccess 文件。我假设它位于正确的子目录中?
.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /public_html/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /public_html/index.php [L]
</IfModule>
您可以访问 wp-admin
如果是,则转到仪表板->设置->永久链接 并更新固定链接,问题就解决了
通过登录 wp-admin 访问您的仪表板,然后访问设置,然后永久链接,将它们更改为任何提供的样式,再次保存更改为您喜欢的样式。这会很好用。
仅供我自己和任何可能偶然发现此内容的人参考。
解决方案
答案是 apache 没有正确配置来读取 .htaccess
文件。如果您遇到同样的问题并且已经设置了自己的 VPS,请转到 apache.conf
、etc/apache2/apache.conf
并找到与您的网站目录相对应的正确 <Directory></Directory>
指令。在里面,您应该会看到一个显示为 AllowOverride None
的选项。将其更改为 AllowOverride All
.
如果这不是您的解决方案,至少它是另一种方式。