最近在折腾Windows VPS,并且使用IIS 7搭建了网站。使用Wordpress一般都会启用伪静态,wordpress自带IIS的伪静态规则,但是被我发现了一个很严重的问题,那就是URL Rewrite不支持中文,这样中午的标签和中文的分类目录(没指定别名)点击后就会404了。
在网络上搜索了一阵后终于找到了一个比较完美的方案,因为传播比较广,已经找不到原作者了,但还是向原作者表示感谢。

1.创建chineseurl.php文件

首先我们要在Wordpress安装目录下创建chineseurl.php文件,为下一步做准备。

文件内容如下:

2.配置web.config文件

web.config文件是IIS 7中网站的额外配置文件,当然伪静态规则也是写在这里的。
在使用伪静态前先检查下有没有安装URL Rewrite模块,如果没有安装是无法使用的。

如果文件夹下没有web.config文件,最好是使用wodpress生成一下配置文件。即“设置-固定链接”不用修改直接保存就好了。

生成后在web.config中 <rewrite><rules>....</rules></rewrite>中的 <rule name="wordpress" patternSyntax="Wildcard">插入专门的中文重写规则即可:

插入完成后应该是像这样:

保存即可生效,现在再点击中文标签试试?不会404了吧!

小结

此方法比较完美地解决了IIS7中文标签、分类目录显示404的问题,原理其实就是如果匹配到url中有category或tag的话转向到chineseurl.php处理。
其中chineseurl.php其实也就是很简单地修改了get头信息以来解决404的问题。虽然代码简单,但是实现地很完美,而且就算wordpress升级了也不会再次出现404问题了,有这个问题的网站还是推荐使用的

Hintay

Hintay

一个懒人

1 条评论

评论