WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

iis 7 配置web.config实现伪静态实现代码

更新时间:2013-08-04 09:52 作者:佚名点击:

在 IIS7中我们不再需要安装其他组件,通过在 web.config 进行简单的配置即可实现 URL 的伪静态。方法如下:

在 web.config 配置文件的 configuration 节点中加入下边的代码:

 代码如下  

<system.webServer>
    <rewrite>
        <rules>
            <rule name="rulename">
                <match url="newurl" ignoreCase="false" />
                <action type="Rewrite" url="oriurl" appendQueryString="false" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

其中, rule 节点即为每个重写规则,match 节点为伪静态的规则;ignoreCase 是忽略大小写;action 是响应的 URL,即真正的URL;appendQueryString 为是否跟参数。添加多个 rule 时,注意 name 名称应该保持不同。

以下直接给出本站的 URL 重写规则,相信大家会一目了然:

 代码如下  

<rewrite>
    <rules>
        <rule name="rule1">
            <match url="articles/(S+).html" ignoreCase="true" />
            <action type="Rewrite" url="articles/Default.aspx?SubClass={R:1}" appendQueryString="true" />
        </rule>
    </rules>
</rewrite>

可见,在 IIS6 里如果跟参数的话使用 $ 字符,在 IIS7 使用{R:数字}代替 $ 字符。至于多个参数时,别忘记使用 &amp; 替换 & 符号。

如果你是iis6可参考下面方法来实例伪静态


我们需要下载微软官方提供的URLRewriter.dll,下载后将些dll文件引用到我们的项目中。接下来,需要在web.config里进行一些简单的配置,就可以实现url的重定向。

首先,在webconfig中找到configSections,在以下位置加入给出的代码:

 代码如下  

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

接下来,找到httpHandlers,在以下位置加入给出的代码:

 代码如下  
        <httpHandlers>
       <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
   <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

上边加入的代码,就会对.html和.aspx后缀的url路径进行重定向。最后,我们要加入重定向的规则,从而实现url重定向。

 代码如下  

  </configSections>
    <RewriterConfig>
        <Rules>
            <RewriterRule>
                <LookFor>~/article/(S+)/(d{8})/(S+).html</LookFor>
                <SendTo>~/article/default.aspx?Sub=$1&UrlName=$3</SendTo>
            </RewriterRule>
        </Rules>
    </RewriterConfig>

上边就是重定向的规则,上边是以我自己的小站为例。将domain/article/文章类型/发布时间/文章名称.html重新定向到了domain/article/default.aspx?Sub=文章类型&UrlName=文章名称 。我自己对正则也不是很了解,^_^。如果有兴趣大家可以学习下,最后别忘了要将 &UrlName中的&符号写成&amp; ,

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容