【问题标题】:Tricky wordpress setup with redirect from another server从另一台服务器重定向的棘手 wordpress 设置
【发布时间】:2012-04-30 05:06:53
【问题描述】:

我可以就如何从本地登台服务器迁移到生产服务器提出一些建议。这是一个相当棘手的设置,当我试图描述它时,我对它是如此的赤裸裸。

我的网站在我的个人服务器上的临时子域的根目录下设置并运行良好。 暂存:staging.mydomain.com

本周晚些时候,我将把它移到 Rackspace 上的新生产服务器上,该服务器目前没有附加域(只是一个 IP 地址)。客户端正在将文件夹重定向到新的机架空间服务器。 http://www.clientsdomain.com/subfolder/ 这将是该站点所在的位置。但是clientsdomain.com 是世界其他地方的不同服务器(不在机架空间)。他们会将访问该 URL 的流量重定向到新的机架空间服务器。

所以我的问题是: 我为 wordpress 设置的工作阶段位于我的个人服务器子域的根目录中。我应该如何在机架空间上设置它?在IP地址的根?或在子文件夹中模拟任何相关链接的域设置。

我问的原因是我认为我已经正确设置了这个......但是......

我继续尝试将站点移到我的 Rackspace 服务器上的 dev 文件夹中。我的客户设置了一个开发网址

http://www.clientsdomain.com/dev/subfolder/

任何访问该网址的人都会被重定向到我的服务器(我的机架空间服务器只有一个 IP 地址)

网站前端使用绝对网址。但是事情开始失败的地方是 wp-admin。例如,如果我在“常规设置”页面上,然后单击“保存”。它保存数据,然后重定向到 /wp-admin/... 而不是 /dev/subfolder/wp-admin/。由于该文件夹不存在,它会转到我的客户 404 页面。

另外,去 http://www.clientsdomain.com/dev/subfolder/wp-admin 在客户端服务器 404 页面上结束,但是...

http://www.clientsdomain.com/dev/subfolder/wp-admin/(带斜线)正常工作。

我将站点从我的 dev 文件夹移动到 Rackspace 的方法是将我的服务器(即 staging.mydomain.com)上 wp-admin 中的 URL 更改为 http://www.clientsdomain.com/dev/subfolder/

然后我保存了这些设置,下载了 db 和 site 文件并将文件和数据库上传到 rackspace,并更改了 wp-config 文件以匹配 rackspace db。

这是我当前的 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>

我真的很感激这里的一些指导。应该会在周二上线。

谢谢! 鱼

【问题讨论】:

    标签: apache wordpress .htaccess mod-rewrite redirect


    【解决方案1】:

    我最近在标准域 (www.domain.com) 上安装了 WordPress,但不得不将其移至具有子域 (blog.newdomain.com) 的另一个域。我发现我遇到了与您非常相似的问题,尤其是 wp-admin 重定向到以前不再存在的域时。

    我发现了一个方便的 MySQL 数据库搜索和替换工具(可在 http://interconnectit.com/124/search-and-replace-for-wordpress-databases/ 获得)并将原始 www.domain.com 的所有实例替换为新的 blog.newdomain.com,它纠正了我的所有问题。

    希望这些信息对您有所帮助。

    【讨论】:

    • 嘿卢克。感谢您的电子邮件。是的,我确实知道那个脚本。我一直在尝试使用它来让它工作。您是只替换 wp_posts 表中的文件还是替换所有表中的文件?我只是在编辑 wp_posts 表,但也许我应该对所有表都这样做。再次感谢
    • 替换所有表。记得在执行之前备份你的数据库。
    【解决方案2】:

    通常是导致问题的选项表。执行中

    update wp_options set option_value = replace(option_value, 'old_url', 'new_url');
    

    数据库上的直接 SQL 应该可以解决问题(将 old_url 和 new_url 替换为正确的 url)。

    另一种方法是在您的 wp-config.php 文件中定义这两个 WP 常量,这将覆盖站点 URL 的 DB 设置:

    define('WP_HOME','http://sitehomeurl');
    define('WP_SITEURL','http://siteurl');
    

    当然,在针对数据库运行 SQL 之前备份数据库的警告也适用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-23
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多