最近一个项目,客户要求在既存的Wordpress虚拟目录下新建一个网站。
大概是这样的需求:
- 既存的Wordpress网站里有
category/test/subcat
这么一个虚拟目录页面,其中category/test
和category/test/subcat
都是可以访问的分类一览页面。 - 客户想新建一个
category/test/newsite
的静态HTML网站。
我在服务器上新建了category/test/newsite
目录,然后把静态HTML上传之后,发现category/test
无法访问了,出现403错误。
在网上找了半天,发现解决方法很简单,把Wordpress网站根目录下的index.php
复制到category/test
目录下,并修改一行代码就行。
修改方法如下:
// 修改前
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
// 修改后
require( dirname( __FILE__ ) . '/../../wp-blog-header.php' );
为了让category
的访问显示内容和原来Wordpress一样,我们同样可以把index.php
复制到category
目录下,并修改一行代码。
修改方法如下:
// 修改前
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
// 修改后
require( dirname( __FILE__ ) . '/../wp-blog-header.php' );
通过前面的修改,有可能出现ERR_TOO_MANY_REDIRECTS
的错误,这时,我们需要再修改主题的function.php
,在function.php
文件里,添加下面这一行代码就行。
remove_filter('template_redirect', 'redirect_canonical');