众所周知,wordpress是基于php开发,在apache服务下运行是最优秀的。但是,国内仍然有许多主机上不能提供apache服务器,大多都是IIS环境。因此,导致wp在IIS环境下,出现许多标题,办理起来也比较麻烦。UISEO优化网也不小心使用了IIS。因此,在碰到的关于IIS环境造成的一系列标题,记录下来,资助有同样痛苦的站长共同分享。
本篇重要是关于IIS伪静态乐成后造成的子目次和其他一些根目次的文件不能正常访问的标题。
近几日想给博客加上一些别的页面,天然要用到子目次。没想到访问全部非WP-开头的子目次内容都转到404页面去了。看样子WP还真有的高深莫测,令我丈二僧人摸不着头脑啊,后找了不少资料才基本办理此标题,方法是修改伪静态规则文件httpd.ini:
下载或者在线编辑httpd.ini文件,在原来规则中增长一条代码RewriteRule /tool/(.*) /tool/$1 [L],增长后完整规则如下(/tool/是二级目次名,具体名称是什么就写什么,注意是双斜杠):
编辑httpd.ini规则:
复制代码代码如下:
[ISAPI_Rewrite]
# Defend your computer from some worm attacks
#RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through
RewriteRule /favicon.ico /favicon.ico [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /sitemap_baidu.xml /sitemap_baidu.xml [L]
RewriteRule /sitemap.html /sitemap.html [L]
# For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule /wp-(.*) /wp-$1 [L]
# For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]
上面的内容是设置伪静态,以下是设置子目次访问设置代码
如果必要某个子目次(比如UISEO优化网必要增长pr子目次),则在# Rules to ensure that normal content gets through行下增长如下内容:
复制代码代码如下:
RewriteRule /pr/(.*) /pr/$1 [L]
如果有多个子目次的话,也是可以的,设置几条如许的规则就行了。如:
复制代码代码如下:
RewriteRule /文件夹名1/(.*) /文件夹名1/$1 [L]
RewriteRule /文件夹名2/(.*) /文件夹名2/$1 [L]
RewriteRule /文件夹名3/(.*) /文件夹名3/$1 [L]
就如许,基本上可以办理此标题。大概还有更好的方法,继续摸索中……也欢迎各人共享。
如果是想访问根目次下的其他文件,比如验证文件html。则参考
复制代码代码如下:
RewriteRule /sitemap.xml /sitemap.xml [L]
只需将相应名称换成要访问的即可。
对于具体的语法,想更深入相识的,可以百度,也可以找本人。随时为各人无私奉献! |