自从后台 php 版本从 5.2 升级以后小故障不断,一直没有解决的一个问题就是:在 Windows 主机中,WordPress 的后台点击“分类目录”或“标签”出现 404 页面,导致无法进行标签或分类目录的优化。
开始一直怀疑是主机商那里设置了什么,找主机商协商给解决,技术部门搞了很长时间也没搞定,于是我自己另寻他法,最终无果,弄得精疲力尽,也不知道哪里出了问题。最后在现实面前跪了:将就着用吧,反正没大妨碍,大不了直接修改数据库。
于是日子一天天过着。
某天心血来潮,换了个新主题。这下可好,又有问题了:标签页面的分页也打不开了,只能浏览第一页。问题好像又变得棘手了:肿么办???坐在马桶上,忽然灵光一闪:是不是主机商那里的问题,我可以在自己的电脑上测试一下啊。于是装了个虚拟主机服务器,把 php 调到了服务商提供的版本。IIS 打开,全新安装 WordPress。发现点击“分类目录”或“标签”可以打开啊!就是在电脑中网页的链接 URL 中出现了index.php。这时才想起来忘了设置固定链接,于是把网站中的 web.config 文件直接拷贝到本地电脑服务器上:又打不开了。可以确定的是,原来问题出在了这个 web.config 文件上。
这个web.config 文件嘛,说来话长,当时为了生成伪静态固定链接,也为了中文标签和目录可用,特地建立了一个 httpd.ini 文件。但是升级到高版本 php 后,这个文件相应变成了 web.config。记得当时按照服务商那里技术人员的提示设置了一下。
难道问题出在这里?
我已经把标签完全别名化了,没必要再特别设置中文标签了,干脆删了试试。于是打开该文件,试着删除里面关于标签的设置:
- <rule name="tags">
- <match url="tag/?(.*)" />
- <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
- <action type="Rewrite" url="index.php?tag={R:1}" />
- </rule>
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
保存
竟然搞定了!
看来真是自己设置的问题!一不做二不休,决定把没必要的 category 设置也删掉:
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
- <rule name="category">
- <match url="category/?(.*)" />
- <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
- <action type="Rewrite" url="/index.php?category_name={R:1}" appendQueryString="false" logRewrittenUrl="false" />
- </rule>
这回清净了
出现相同问题的朋友可以试试,记得先备份哦!