如今在做网站SEO优化的同时,也必须要懂得一些简单处理网站无法访问的问题,这不今天成都SEO博主就遇到一个iis6搭建的php网站伪静态失效的问题。
这种问题,凭着自己的经验第一反应认为是ISAPI_Rewrite组件的问题,于是乎卸载重装,安装好ISAPI_Rewrite重启iis以后网站内页还是404错误 。突然感觉有点棘手了,依次去排查了伪静态规则,动态链接是否正常……排查完以后发现都没有异常。
无奈只能问度娘了,一搜索发现的确有好多解决方案,网友们基本都说是权限问题:
1.IIS_WPG对ISAPI_Rewrite.dll没有读取的权限
2.IIS_WPG对httpd.ini没有读取的权限
3.IIS_WPG对站点目录中的httpd.ini没有读取的权限(用于每个站点有独立的httpd.ini)。
4.IIS_WPG对站点目录中没有写入的权限(ISAPI_Rewrite要写入一个httpd.parse.errors文件)。
…………
一开始还是怀疑的,因为以前都是正常的,平时我们也不回去更改权限,这种情况多适用于刚搭建的环境。虽然心存疑虑,我还是把所有相关的目录(组件安装目录、网站目录)权限都是设置everyone完全控制,测试依旧404错误。
继续百度查找,还有的说在httpd.conf文件中加上如下两句,然后访问网站会有错误日志,经测试没有错误日志。
RewriteLogLevel 9
LogLevel debug
最后又回到最初的判断ISAPI_Rewrite组件有问题,再次卸载重装,还是404错误。
正准备网上重新下载一个ISAPI_Rewrite组件来再安装试试,突然发现自己在检查的时候忽略了一个问题,就是ISAIP筛选器里面是否正常加载了rewrite组建,右键-站点-属性-ISAIP筛选器,一看空白,马上添加添加rewrite组建(如下图)重启IIS,网站内页访问正常,到此终于解决了ISAPI_Rewrite伪静态不生效的问题,当然这个只是ISAPI_Rewrite伪静态不生效的案例只是其中一个原因,上面网友提到的原因我们在实际遇到IIS6 ISAPI_Rewrite伪静态不生效解的时候,可以一一测试排查。