在这里说一下高版本VPS/服务器的伪静态设置方法。
有很多客户使用的服务器已经升级到了高级版本,其中IIS也已经从6升到了7甚至是8了。
使用高版本固然有很多好处,但也不可避免的存在了兼容性的问题,正如工作易人才系统最重要的一步环境配置:IIS伪静态配置。
在Server2000/2003的IIS6版本下,只需要按照默认的工作易使用手册里的IIS伪静态配置好aspnet_isapi.dll文件到IIS里,即可正常打开工作易的所有企业、简历和文章页面,但在IIS7,通过通配符加载同样的文件后,会发现此方法无效,仍然无法打开内页,显示404错误!
经过官方不懈的调试和查阅资料后,终于成功配置IIS7/8下的伪静态,方法如下:
1、在IIS7/8里需要重新注册伪静态组件:下载组件安装后,进入IIS模块,查看是否安装成功组件;
2、修改根目录下的web.config文件里面的伪静态规则:
将以下代码
<urlrewritingnet rewriteOnlyVirtualUrls="true" defaultPage="" contextItemsPrefix="QueryString" defaultProvider="RegEx" xmlns=""><rewrites>
<add name="newsUrl" virtualUrl="^~/LookNews/Article-(.*).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/LookNews.aspx?id=$1" ignoreCase="true" />
<add name="myurl3" virtualUrl="^~/Company_Lookzl/pn-(.*).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/companyhome/company.aspx?pn=$1" ignoreCase="true" />
<add name="myurl4" virtualUrl="^~/Company_Lookzl2/pn-(.*)-id-(.*).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/companyhome/post.aspx?pn=$1&id=$2" ignoreCase="true" />
<add name="myurl3-1" virtualUrl="^~/Company_Lookzl1/pn-(.*).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/aspxTemplate/Company_Lookzl1.aspx?pn=$1" ignoreCase="true" />
<add name="myurl5" virtualUrl="^~/Person_Lookzl/id-(.*).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Person_Lookzl.aspx?id=$1" ignoreCase="true" />
<add name="myurl5-1" virtualUrl="^~/Person_Lookzl/pname-(.*).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Person_Lookzl.aspx?pname=$1" ignoreCase="true" />
......
</rewrites>
</urlrewritingnet>
修改为最新的IIS7/8伪静态配置规则:
<system.webServer><rewrite>
<rules>
<rule name="newsUrl" stopProcessing="true">
<match url="^LookNews/Article-(.*).html"/>
<action type="Rewrite" url="/LookNews.aspx?id={R:1}"/>
</rule>
<rule name="myurl3" stopProcessing="true">
<match url="^Company_Lookzl/pn-(.*).html"/>
<action type="Rewrite" url="/companyhome/company.aspx?pn={R:1}"/>
</rule>
<rule name="myurl4" stopProcessing="true">
<match url="^Company_Lookzl2/pn-(.*)-id-(.*).html""/>
<action type="Rewrite" url="/companyhome/post.aspx?pn={R:1}&id={R:2}"/>
</rule>
.......
</rules>
</rewrite>
3、IIS应用程序池选择2.0,最后保存文件即可。