我将一个网站从第三方转移到了内部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
或重新网站规则,我不确定该怎么办。
任何建议都将不胜感激。
这可能是一个永久链接问题。
从管理面板中检查Permalink选项,并将其与链接进行比较,看看它们是否正确,这可能会有所帮助。
只需在"设置"下打开永久链接页面,然后再次保存即可。在大多数情况下,这应该可以修复404错误。
移动数据库(wordpress和其他数据库)时,我通常会用文本编辑器打开数据库转储,并用新文件系统路径搜索/替换旧文件系统路径的所有实例,用新url替换旧url。这将确保您不会错过任何表或列。如果数据库太大,无法用文本编辑器打开,那么我会编写一个简单的脚本来解析它并进行替换。然后在替换完成后,我进行导入。
感谢您的帮助。我从这里得到了解决方案。。
http://www.virtualmin.com/node/17048
是否要将站点移动到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重写。您能够确认该网站现在正按预期运行。如果您有任何其他问题或顾虑,请告诉我们!