Php 移动wordpress站点-获取404错误

Php 移动wordpress站点-获取404错误,php,wordpress,Php,Wordpress,我将一个网站从第三方移动到内部IP 我解压缩了WP安装并导入了mysql DB,并运行了以下查询: UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(gu

我将一个网站从第三方移动到内部IP

我解压缩了WP安装并导入了mysql DB,并运行了以下查询:

UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com');

UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com');
我可以看到我的新index.php,甚至可以登录到管理部分,但我无法访问页面中的任何链接。我得到404个错误。“管理”页面正确列出了新域

我可能缺少
.htaccess
或重新布线规则,我不确定该怎么办


任何建议都将不胜感激。

这可能是一个永久性的问题


从“管理”面板中检查永久链接选项,并将其与链接进行比较,看看它们是否正确,可能会有所帮助。

这可能是永久链接的问题


从“管理”面板中检查永久链接选项,并将其与链接进行比较,看看它们是否正确,可能会有所帮助。

是的,它可能是您的.htaccess文件。你应该尝试在Wordpress管理员中更新你的永久链接。将永久链接切换到不需要.htacess文件的默认值,然后将它们切换到要使用的文件。这通常对我有用。

是的,它可能是你的.htaccess文件。你应该尝试在Wordpress管理员中更新你的永久链接。将永久链接切换到不需要.htacess文件的默认值,然后将它们切换到要使用的文件。这通常适用于我。

移动数据库(wordpress以及其他)时,我通常会使用文本编辑器打开数据库转储,并用新文件系统路径搜索/替换旧文件系统路径的所有实例,用新url搜索/替换旧url。这将确保您不会错过任何表或列。如果数据库太大,无法用文本编辑器打开,那么我将编写一个简单的脚本来解析它并进行替换。然后在进行替换后,我进行导入。

移动数据库(wordpress以及其他)时,我通常会使用文本编辑器打开数据库转储,并用新文件系统路径搜索/替换旧文件系统路径的所有实例,用新url搜索/替换旧url的所有实例。这将确保您不会错过任何表或列。如果数据库太大,无法用文本编辑器打开,那么我将编写一个简单的脚本来解析它并进行替换。然后在替换完成后,我进行导入。

谢谢您的帮助。我从这里得到了解决办法


谢谢你的帮助。我从这里得到了解决办法


只需在“设置”下打开永久链接页面,然后再次保存即可。
在大多数情况下,这将修复404错误。

只需在“设置”下打开永久链接页面,然后再次保存即可。
在大多数情况下,这将修复404错误。

是否将站点移动到Windows服务器

如果您能够看到主页或管理员主页,但在迁移到Windows服务器时出现404错误,下面介绍如何修复该错误

该站点需要对子目录进行一些重定向,以便正确解决请求。需要从URL重写模块导入以下
htaccess
规则

# BEGIN WordPress

RewriteEngine On

#RewriteBase /

RewriteRule ^index\.php$ - [L]

# uploaded files

RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [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).*) $1 [L]

RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]

RewriteRule . index.php [L]

<IfModule mod_security.c>

<Files async-upload.php>

SecFilterEngine Off

SecFilterScanPOST Off

</Files>

</IfModule>

# END WordPress
#开始WordPress
重新启动发动机
#重写基/
重写规则^index\.php$-[L]
#上传的文件
重写规则^([_0-9a-zA-Z-]+/)?文件/(.+)wp包含/ms files.php?文件=$2[L]
#在/wp admin中添加尾部斜杠
重写规则^([_0-9a-zA-Z-]+/)?wp admin$$1wp admin/[R=301,L]
RewriteCond%{REQUEST_FILENAME}-f[或]
RewriteCond%{REQUEST_FILENAME}-d
重写规则^-[L]
重写规则^[_0-9a-zA-Z-]+/(可湿性粉剂-(内容|管理|包括)。*)$1[L]
重写规则^[_0-9a-zA-Z-]+/(.\.php)$$1[L]
重写规则。index.php[L]
分离过滤器发动机关闭
secfilters可以关闭
#结束WordPress

将其粘贴到导入规则>重写规则部分后,点击右上角的应用以创建URL重写。您能够确认站点现在正在按预期工作。如果您有任何其他问题或顾虑,请告知我们

是否将站点移动到Windows服务器

如果您能够看到主页或管理员主页,但在迁移到Windows服务器时出现404错误,下面介绍如何修复该错误

该站点需要对子目录进行一些重定向,以便正确解决请求。需要从URL重写模块导入以下
htaccess
规则

# BEGIN WordPress

RewriteEngine On

#RewriteBase /

RewriteRule ^index\.php$ - [L]

# uploaded files

RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [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).*) $1 [L]

RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]

RewriteRule . index.php [L]

<IfModule mod_security.c>

<Files async-upload.php>

SecFilterEngine Off

SecFilterScanPOST Off

</Files>

</IfModule>

# END WordPress
#开始WordPress
重新启动发动机
#重写基/
重写规则^index\.php$-[L]
#上传的文件
重写规则^([_0-9a-zA-Z-]+/)?文件/(.+)wp包含/ms files.php?文件=$2[L]
#在/wp admin中添加尾部斜杠
重写规则^([_0-9a-zA-Z-]+/)?wp admin$$1wp admin/[R=301,L]
RewriteCond%{REQUEST_FILENAME}-f[或]
RewriteCond%{REQUEST_FILENAME}-d
重写规则^-[L]
重写规则^[_0-9a-zA-Z-]+/(可湿性粉剂-(内容|管理|包括)。*)$1[L]
重写规则^[_0-9a-zA-Z-]+/(.\.php)$$1[L]
重写规则。index.php[L]
分离过滤器发动机关闭
secfilters可以关闭
#结束WordPress

将其粘贴到导入规则>重写规则部分后,点击右上角的应用以创建URL重写。您能够确认站点现在正在按预期工作。如果您有任何其他问题或顾虑,请告知我们

你可能会在WordPress特定的问题上找到更多的运气,你可能会在感谢中找到WordPress特定的问题。我试着这样做,页面变得清晰可见。我的初始设置是/%postname%/。当我将其设置为默认值时,页面是可见的,但是URL看起来像而不是。如何使URL看起来像?非常感谢您的帮助。如果您将其更改回初始设置,它们将再次工作。如果没有,则表示.htaccess文件有问题。这可能是因为文件没有正确的权限,或者apache中可能没有启用mod_rewrite模块。谢谢。我试着这样做,页面变得清晰可见。我的初始设置为/%p