WordPress子域名不断重定向到主域名

11

这是我所做的,希望能够克隆一个wp博客进行开发。

  1. 我在cpanel中创建了一个子域名,例如dev.myblog.com
  2. 我下载了数据库的副本,然后上传到新创建的数据库中。
  3. 我更改了wp-config文件中的数据库名称等信息。

但问题是子域名不断重定向到主域名。

7个回答

8

创建新网站需要以下步骤:

  1. 导出数据库

  2. 修改数据库文件中的URL

    1. 使用Wordpad或其他编辑器打开数据库文件

    2. 查找wp_options

    3. 向下滚动一点,您会发现旧URL

    4. 在整个文件中将旧URL替换为新URL

    5. 保存文件。

  3. 将修改后的文件导入新的数据库

  4. 现在在浏览器中运行新URL

注意:完成上述步骤后,您必须添加小部件数据并更新永久链接


设置无法保存...为什么? - user3836151
设置数据以序列化形式存储,因此它不会保持保存。 - Shah Rukh
所以呢?即使我尝试应用新的设置并点击保存,它也没有生效。 - user3836151
1
请查看此链接:https://dev59.com/EVfUa4cB1Zd3GeqPKK_L - Shah Rukh

4
只需将此代码添加到您的wp-config文件中。
define('WP_HOME','http://subdomain.example.com');
define('WP_SITEURL','http://subdomain.example.com');

3
你需要在数据库(wp_options表)中更新站点URL和主页URL。你可能还想替换其他提到旧URL的地方,比如链接的文章或guid。
你说你使用cPanel,所以你应该可以访问phpMyAdmin。如果你进入那里,你可以运行这个SQL语句(你需要在适当的位置替换旧的和新的URL):
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurl', 'http://www.newurl');

UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl','http://www.newurl');

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl', 'http://www.newurl');

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.oldurl','http://www.newurl');

2

我认为你需要在 wp_options 表中更改 siteurl 条目。通过 option_name 字段搜索 siteurl。

注:siteurl是WordPress网站的URL地址。

我已经替换了siteurl和homeurl,但在我的情况下也没有起作用。每次我点击子域时,它都会重定向到主域名URL。 - Tara Prasad Gurung

1
如果WP_OPTIONS表中存在网站URL,请更改它,否则请前往wp-config.php并在文件中添加以下两个条目。
define('WP_HOME','http://subdomain.example.com');
define('WP_SITEURL','http://subdomain.example.com');

1

这个问题可能已经在新的帖子或问题中得到了解答,但值得注意的是:

除了提出的解决方案(更改wp_options表中的URL),我还需要修改.htaccess文件,像这样:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ my_subdir[L]

这是我找到代码和更多信息的WP支持网站: https://wordpress.org/support/article/giving-wordpress-its-own-directory/

1
为了让这对我起作用,我首先在子域上添加了以下内容到wp-config
define('WP_HOME','http://subdomain.example.com');
define('WP_SITEURL','http://subdomain.example.com');

上述内容仍然转发到主站点,因此我在phpMyadmin中打开了子域的数据库,并在wp-options下更新了网站URL。

这样做之后,转发就正常了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接