伪静态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了伪静态相关的知识,希望对你有一定的参考价值。

   伪静态的设置可以使诸如xiangqing.aspx?id=426以类似xiangqing-426.html方式显示,利于SEO。方法多种,这次只试用了URLrewriter.dll方法。三步即可。

1.IIS设置

   本站点-属性-主目录-配置-映射-添加-可执行文件c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll(同.aspx映射)-扩展名“.html”,限制为“GET,HEAD,POST,DEBUG”-脚本引擎“打勾”-确认文件是否存在“不打勾”-确定。

2.网上下载URLRewriter.dll,拷贝到bin目录,并在vs里添加引用,此时会另生成URLRewriter.dll.refresh文件。

3.修改网页

web.config页面:

第一部分

 

<configuration>

 <configSections>

  <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />

 </configSections>

 <RewriterConfig>

  <Rules>

   <RewriterRule><!--可增加多个-->

    <LookFor>~/xiangqing-(.[0-9]*)\.html</LookFor>

    <SendTo>~/xiangqing.aspx?id=$1</SendTo>

   </RewriterRule>

   <RewriterRule><!--可增加多个-->

    <LookFor>~/newsxiangqing-(.[0-9]*)\.html</LookFor>

    <SendTo>~/newsxiangqing.aspx?id=$1</SendTo>

   </RewriterRule>  </Rules>

 </RewriterConfig>

第二部分  

<system.web>

 <httpHandlers>

  <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

  <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

 </httpHandlers>

第三部分

 

<httpModules>

  <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>

 

注:正则表达式可在网上搜索合适的进行修改。
其他相关页面将类似href=‘xiangqing.aspx?id=&lt;%#DataBinder.Eval(Container.DataItem,"id")%>‘的部分修改为 href=‘xiangqing-<%#DataBinder.Eval(Container.DataItem,"id")%&gt;.html‘即可。

如果想让以.aspx后缀显示而不是.html,则在IIS里删除.html脚本映射,web.config里将<LookFor>~/xiangqing-(.[0-9]*)\.html</LookFor>修改为<LookFor>~/xiangqing-(.[0-9]*)\.aspx</LookFor>,并删除<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />部分即可。

以上是关于伪静态的主要内容,如果未能解决你的问题,请参考以下文章

nginx常用伪静态设置

伪静态和真静态

DTcms网站伪静态逻辑

JSPGenCMS伪静态完美解决方法

.htaccess中带?参数的重定向伪静态写法

Yii2 配置 Nginx 伪静态