将 Wordpress 网站移至 /blog 域

Posted

技术标签:

【中文标题】将 Wordpress 网站移至 /blog 域【英文标题】:Moving Wordpress site to /blog domain 【发布时间】:2016-07-26 22:23:46 【问题描述】:

我有一个客户,其 wordpress 网站位于 example.com,但是,他们希望在 example.com 上建立一个自定义网站,并将博客移至 example.com/blog

到目前为止,我已经在根目录下创建了两个文件夹

/main
/blog

在虚拟主机中,我有博客的别名

Alias /blog /var/www/public_html/blog

主站点位于 /main 文件夹中,一切似乎都运行良好。 wordpress 站点已移至 /blog 文件夹,当我转到 /blog 时,它确实加载了。

两个问题

1) 没有为 wordpress 网站加载样式表。在源代码中,它们似乎是 example.com/wp-content/... 而不是 example.com/blog/wp-content/...

2) 链接显示正确,但未到达所需位置。例如,名为服装的类别显示为 example.com/blog/category/clothing/,但单击时会重定向到 example.com

更新

在 wp-options 表中,我更新了 siteurl 和 home 值以包含 /blog 这已解决问题 1。问题 2 仍然存在。

更新

问题似乎与虚拟主机别名有关。 /blog 捕获并进入 public_html/blog 文件夹, /blog/anything 没有捕获并进入 /main 文件夹。

更新和解决方案

问题出在 wordpress 网站中的 .htaccess 上。

这是原始的.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %REQUEST_FILENAME !-f
    RewriteCond %REQUEST_FILENAME !-d
    RewriteRule . /index.php [L]
</IfModule>

这是一个有效的修改

<IfModule mod_rewrite.c>
   RewriteEngine on
    RewriteBase /blog
    RewriteRule ^index\.php$ - [L]
    RewriteCond %REQUEST_FILENAME !-f
    RewriteCond %REQUEST_FILENAME !-d
    RewriteRule    (.*) index.php [L]
</IfModule>

【问题讨论】:

【参考方案1】:

尝试使用“WP Migrate DB”插件 - 它会创建一个数据库转储并将所有旧网址替换为新网址。

【讨论】:

这也是一个重要的步骤。谢谢。【参考方案2】:

问题 1)

通过更新“siteurl”和“home”表的“wp-options”设置值以包含“/blog/”后缀解决

问题 2)

通过将wordpress .htaccess 文件更新为此解决

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /blog
    RewriteRule ^index\.php$ - [L]
    RewriteCond %REQUEST_FILENAME !-f
    RewriteCond %REQUEST_FILENAME !-d
    RewriteRule    (.*) index.php [L]
</IfModule>

【讨论】:

嘿,我也遇到了同样的情况,但是当启用永久链接时,我无法打开网站,原因是“重定向过多”你知道我该如何处理吗?跨度>

以上是关于将 Wordpress 网站移至 /blog 域的主要内容,如果未能解决你的问题,请参考以下文章

将 WordPress 站点移至 Docker,并最终移至服务器

将 wordpress 从域迁移到另一个域 - 但 URL 仍重定向到旧域

如何将 WordPress 网页移至其他托管服务器?

如何将 wordpress 博客迁移到 AWS 弹性 beantalk

Wordpress错误 - 抱歉,您无权访问此页面。将网站从一个域迁移到另一个域后

在 WordPress 中使用 jQuery 将 HTML 移至父级 - 已关闭