Wordpress在iis下伪静态后子目录无法访问的解决办法19+
今天换了个主机把Wordpress升级到2.9,遇到了一个小问题,不知道是Wordpress2.9做了改变还是咋地,之前在2.8上正常使用的伪静态出问题了:做伪静态之后无法访问子目录了,只要是非wp-开头的子目录(文件夹),通过http://www.anysns.com/子目录,统统是404错误…还好被我暂时解决了,具体的方法如下:
问题症状:
由于是win下的iis主机,所以只能使用isapi-rewrite组件解决伪静态的问题,之前的伪静态规则如下:
[ISAPI_Rewrite]
# 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 throughRewriteRule /software-files/(.*) /software-files/$1 [L]
RewriteRule /images/(.*) /images/$1 [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [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]
之前设置的的Wordpress永久链接现在仍然可用,只是之前正常访问的子目录都无法访问了:被重定向到404。
解决办法:
我的解决办法是给子目录单独设置一条规则:
如为名为sub的子目录设置一条规则:
RewriteRule /sub/(.*) /sub/$1 [L]
上面的意思访问子目录sub都转到sub子目录,也就是访问http://anysns.com/sub时就转到空间根目录下的sub文件夹;
如果你有多个子目录的话,可以多设置几条
写在最后:
上面的办法只是治标不治标的,我想更好的办法就是在空间根目录下建一个子文件夹,将所有的要使用的子目录都放在其里面,单独对其做一条RewriteRule,具体代码我已近想好了,只是不知道能不能有效果,明天同空间商联系做下试验,有效的话我会把代码在本文更新。


原来用win主机时一直找,现在不要了
这方面不是很懂,得多向博主学习学习!
还好我不是win主机
我也是Linux主机滴。。
这个方法确实挺投机的
@小林
是的,成功了吗
@Yusn
这样可以吗?
@小巷
应该可以的吧,有问题再请教你
@Yusn
呵呵 回复的这么及时?
Yes, I’m online
下班回家喽
@Yusn
在博客上面聊天 太那个了吧 我也准备下班了
@小巷
我到家啦,哈哈
@Yusn
我也online,呵呵
@小林
你是哪个小林?
老衲也来test一下啊
@老衲
阿弥陀佛,呵呵
Come On Socco
@Yusn
困死了!