移动WordPress的网站 - 获取404错误

问题描述:

我从第三方移动到一个内部IP的网站。移动WordPress的网站 - 获取404错误

我解压安装WP和进口的MySQL数据库和运行这些查询:

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或rewite规则,我不知道该怎么做。

任何建议将不胜感激。

+0

您可以在http://wordpress.stackexchange.com/ – adlawson 2012-03-19 01:14:52

+0

.htaccess找到更多与WordPress特定问题相关的运气。你可以发布吗? – Shoe 2012-03-19 01:21:48

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

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

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

+0

谢谢。我试着这样做,页面变得可见。我的初始设置是/%postname%/。当我将其设置为默认值时,页面可见,但网址看起来像http://10.1.1.131/?page_id=7而不是http://10.1.1.131/about。我如何使URLS看起来像http://10.1.1.131/about?非常感谢您的帮助 – champak 2012-03-19 02:49:47

+1

如果您将其更改回初始设置,他们应该再次工作。如果这并不意味着你的.htaccess文件有问题。这可能是因为该文件没有正确的权限,或者mod_rewrite模块可能未在apache中启用。 – Gohn67 2012-03-19 04:06:45

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

感谢您的帮助。我得到了我的解决方案,从这里..

http://www.virtualmin.com/node/17048

+0

虽然这可能在理论上回答这个问题,[这将是更可取的](http://meta.stackexchange.com/q/8259)在这里包括答案的基本部分,并提供供参考的链接。 – 2012-03-20 12:27:25

+0

有趣,一个drupal站点回答wordpress问题 – 2014-04-13 13:40:15

只要打开你的永久链接页面设置下,然后再次保存。 这应该可以解决大多数情况下的404错误。

您是否将网站移至Windows Server?

如果您能够看到主页或管理员主页,但在迁移到Windows Server时收到404错误,请按照以下步骤操作。

该网站需要一些子目录的重定向才能正确解析请求。以下htaccess规则需要从URL重写模块导入。

# 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 

一旦将其粘贴到导入规则>重写规则部分,在右上角点击应用以创建URL重写。您可以确认该网站正在按预期工作。如果您有任何其他问题或疑虑,请让我们知道!