WordPress会做什么覆盖.htaccess吗?

时间:2011-03-23 18:06:58

标签: wordpress .htaccess mod-rewrite

我在一个WordPress网站上为客户端本地工作。客户端将wordpress安装在服务器根目录中,但由于我有多个客户端,我喜欢在客户端文件夹中安装所有内容,如localhost / client。通常,向.htaccess添加重写规则是一件简单的事情,将重写基数设置为/client/。但今天它根本不起作用。即使我在重写规则中加入废话,网站也能正常工作(如果重写规则生效,则不应该这样做)。图像引用仍在localhost /而不是localhost / client /中查找root,这意味着它们已损坏。

我查看了WordPress的文档,发现它有一个名为WP_rewrite的东西,并且在wp-includes / rewrite.php中有一个为它设置参数的地方。我将root参数设置为client/,但这似乎也没有任何效果。

最后一件事:localhost / client /中有一个.htaccess文件,localhost / client / wp /中有另一个文件。我把它们都设置为RewriteBase = /client/,但我已经尝试了其他所有合理的组合 - 没有变化。

所以我的问题是:WordPress会做一些其他会使我在.htaccess中设置的重写规则不起作用吗?

2 个答案:

答案 0 :(得分:2)

是的,在将其移动到子文件夹之前,您必须执行一些将更改db中条目的步骤。 这是详细信息: http://codex.wordpress.org/Moving_WordPress#Moving_WordPress_Within_Your_Site

您需要做什么:

  1. 复制在客户端服务器上设置的所有内容,即在根文件夹中
  2. 执行以上网址中的步骤,重要的是4& 5;步骤10.实际上只是转到固定链接设置并单击“保存”按钮(或“更新”我不记得它是怎么说的)
  3. 现在你可以工作:) 你只修改主题或什么?

答案 1 :(得分:2)

我建议您对本地环境进行一些小改动,以获得更灵活的解决方案。使用虚拟主机。如果您正在运行WAMP / MAMP,则可以使用此工具。它允许您将localhost中的目录作为自己的站点运行,您可以使用您选择的本地URL访问该站点。例如,我将我的网站设置为sitename.local,因此他们都生活在他们自己快乐的小生态系统中。强烈推荐。