文档章节

win7 IIS7.5配置伪静态

袁梓皓
 袁梓皓
发布于 2016/01/15 10:29
字数 1108
阅读 0
收藏 0

转自:http://www.cnblogs.com/luckly-hf/archive/2013/03/07/2947687.html

第一部: 
从如下地址中下载URLRewriter组件组件:

官方下载地址:http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi

第二部:在网站项目中添加URLRewriter程序集的引用。

第三部:配置webconfig文件:

注意事项:1、参数用()括起来,使用 $1 来获得参数。2、多个参数的时候使用&分割。

    1。在<configuration>与</configuration>节点中间加入如下配置:

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

    2。 在<system.web>与</system.web> 之间加入

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

    或者

<system.web>                         
   <httpModules>                          
    <add type=”URLRewriter.ModuleRewriter, URLRewriter” name=”ModuleRewriter”/>                       
   </httpModules>                         
  </system.web>                                                                                   

  

3。配置伪静态的语法:在<configuration>与</configuration>之间加入<RewriterConfig> </RewriterConfig>节点。  

    在  <RewriterConfig>与</RewriterConfig>之间加入伪静态规则:      <Rules> <!–定义伪静态第一条规则开始–> <RewriterRule> <LookFor>~/xxxx/view(.[\d]*)\.html</LookFor> <SendTo>~/xxxx/view.aspx?id=$1</SendTo> </RewriterRule>   <!–定义伪静态第一条规则结束–> <!–定义伪静态第二条规则开始–> <RewriterRule> <LookFor>~/yyyy/(.[\d]*)/view.html</LookFor> <SendTo>~/yyyy/view.aspx?id=$1</SendTo> </RewriterRule>

例子如:

复制代码
<RewriterConfig>
        <Rules>
            <!--官网-->
            <RewriterRule>
                <LookFor>~/web/new/type-(.[0-9]*)\.html</LookFor>
                <SendTo>~/web/new.aspx?id=$1</SendTo>
            </RewriterRule>
            <RewriterRule>
                <LookFor>/index.html</LookFor>
                <SendTo>/index.aspx</SendTo>
            </RewriterRule>
            <RewriterRule>
                <LookFor>/aboutus/aboutusContent-(.*).html</LookFor>
                <SendTo>/aboutus/aboutusContent.aspx?pageurl=$1</SendTo>
            </RewriterRule>
          <RewriterRule>
                <LookFor>/shop/GiftList-(.*)-(.*).html</LookFor>
                <SendTo>/shop/GiftList.aspx?nav=$1&amp;price=$2</SendTo>
            </RewriterRule>
         <RewriterRule>
                <LookFor>/shop/list-(.*)-(.*)-(.*).html</LookFor>
                <SendTo>/shop/list.aspx?nav=$1&amp;licno=$2&amp;orderby=$3</SendTo>
            </RewriterRule>
            <RewriterRule>
                <LookFor>/shop/list-(.*)-(.*)-(.*)-(.*).html</LookFor>
                <SendTo>/shop/list.aspx?nav=$1&amp;licno=$2&amp;orderby=$3&amp;price=$4</SendTo>
            </RewriterRule>
        </Rules>
    </RewriterConfig>
复制代码

或者

<RewriterConfig>
       <rewriter>                       
<rewrite   url= "^(/.+(\.gif|\.png|\.jpg|\.ico|\.pdf|\.css|\.js)(\?.+)?)$"    to="$1" processing="stop" />       
<rewrite   url= "~/lmh$"  to="~/Users.aspx?user=lmh"   processing="stop" />       
<rewrite   url= "~/tags/(.+)"  to="~/tag/tagcloud.aspx?tag=$1"  processing="stop"/>        <rewrite   url="^~/mypage(\?.+)?$" to="~/index.htm$1"   processing="stop" />        <rewrite   url="~/article-([^-]+)-([^-]+)-([^-]+).html"    to="~/testurl/article.asp?id=$1&sid=$2&page=$3"  processing="stop"/>     
   <rewrite   url= "^(.*)/(\?.+)?$"  to="$1/index.htm$2?" />   
     </rewritr>
</RewriterConfig>

url是可以使用正则表达式的。比如上面的例子:

规则一:当发现文件类型为   .gif, .png,.jpg, .ico, .pdf, .css or .js时,停止rewrite

规则二:就是将/lmh重写到/Users.aspx?user=lmh,$在正则表达式中表示是串的结束,也就是说/lmhe是不会被重写到to后的地址的,如果把$去掉则可以

规则三:将tags/xxx重写为tag/tagcloud.aspx?Tag=xxx

规则四:当用户输入错误象mypagexxx形式的地址时,转到网站默认页面

规则五:设置用户网站的默认页面为index.htm

新添asp规则:将article.asp?id=13&sid=10&page=2通过伪静态转换成article-10-13-2.html格式来访问页面

第四部:配置IIS7.5 或IIS7.0

1.新建一个应用程序池:名称:任意如:aspnet;选择net 
FrameWork版本(如果你的网站时候2.0的话就选择2.0,我的是4.0)在此我选择Net FramWork v 4.030319. 
托管管道模式先暂时设置为集成模式。等下面的设置完成之后再将托管管道模式设置为经典模式。如果下面的设置完成之后不把应用程序设置为经典模式的话,伪静态的功能可以实现,但是页面的样式图片不能正常显示这是设置的关键。

2 新建一个网站 website ,将此站点的应用程序程序池设置为aspnet。

3 选中你的站点比如website ,并且切换到功能视图。双击【处理程序映射】在打开窗口右侧的操作栏目下做如下操作。

   3.1,【添加脚本映射】-路径为:*.html.可执行文件为:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 
    注意:如果你的网站是2.0。可执行文件为:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 。名称:任意,比如:html.
   3.2, 【添加通配符脚本映射】 请求路径为*。可执行文件为:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,名称任意,比如:aspnet.
   3.3,【托管处理程序映射】(路径:* 可执行文件:System.Web.UI.PageHandlerFactory 名称 任意 比如Html-Integrate)
   3.4, 双击website站点切换到站点功能视图。然后双击模块,打开窗口之后在右侧的操作栏目下面,单击【添加托管模块】-》名称:任意 如aspnet 类型:URLRewriter.ModuleRewriter 并且 把【仅针对向asp.net 应用程序 或托管处理程序发出请求调用】前面的选项 勾上。(记住一定要勾上)。
   3.5 最后一步:双击iis7.0或7.5的应用程序池。在应用程序池列表中找到【aspnet】应用程序池。双击打开之后。将aspnet应用程序池的【托管管道模式】设置为经典模式。

 

本文转载自:http://www.cnblogs.com/xcsn/p/4678240.html

袁梓皓
粉丝 10
博文 280
码字总数 139038
作品 0
嘉定
技术主管
私信 提问
Windows下部署Git Server端

解决方案一: (注意:如果英文阅读没太大障碍,直接到Bonobo官网看相关文档即可。) win7(windows server 2008应该也可以,没测试过)+ IIS7.5(win7自带的)+ Git Server用的是:Bonobo,开...

gogoblue
2014/11/19
0
0
IIS7.5中神秘的ApplicationPoolIdentity

IIS7.5中(仅win7,win2008 SP2,win2008 R2支持),应用程序池的运行帐号,除了指定为LocalService,LocalSystem,NetWorkService这三种基本类型外,还新增了一种ApplicationPoolIdentify win7的官...

付翔
2016/09/07
0
0
Win7部署WordPress傻瓜式教程(IIS7.5+MySQL+PHP+WordPress)

打算在本地装个 WordPress 玩玩,可以前没有接触过 PHP 和 MySQL 。 在网上淘啊淘,教程一大堆,但却没有一个能让人完全信赖的,走了不少弯路,不过最后终于弄出来了。 为了让大家少走弯路,...

老朱教授
2017/09/03
0
0
IIS7.5 ASP脚本,在高PV的情况下,打开页面很慢,WHY?

网站日IP:7万,日PV:120万。 服务器:windows2008 r2,iis7.5(4核,8G内存) 数据库服务器:mssql2005(8核,8G,SSD硬盘) 程序脚本:asp 服务器分为两台:web+sql2005 在早上和晚上基本上没...

浪东
2014/03/05
3.5K
6
win7 下安装 iis7.5+php5.3的配置方法(图文)

1、准备工作,程序下载: MySQL v5.0.51a for windows 解压安装版(配合php5最佳) PHP v5.2.9 for windows(独立服务器php环境配置推荐使用) 2、安装IIS7.5:依次打开控制面板->程序->打开或关...

Deacyn
2013/06/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

再一次生产 CPU 高负载排查实践

前言 前几日早上打开邮箱收到一封监控报警邮件:某某 ip 服务器 CPU 负载较高,请研发尽快排查解决,发送时间正好是凌晨。 其实早在去年我也处理过类似的问题,并记录下来:《一次生产 CPU ...

crossoverJie
15分钟前
1
0
Java的线程同步和并发问题示例

并发问题 多线程是一个非常强大的工具,它使我们能够更好地利用系统的资源,但我们需要在读取和写入多个线程共享的数据时特别小心。 当多个线程尝试同时读取和写入共享数据时,会出现两种类型...

hiuh
今天
4
0
Spring Boot 常用注解说明

实体类 @Entity (实体类注解) @Table(可指定表名) @Data(可缺省get/set) @Id (指定属性主键) @GeneratedValue(指定主键生成规则)

兜兜毛毛
今天
3
0
局域网能互相ping通,ubuntu虚拟机不能上外网

【问题】 桥接模式老是无法上网,查看本机IP发现被分配了一个私网地址,猜测应该是虚拟DHCP服务器没有打开,于是查看Ubuntu的网络配置: /etc/network/interfaces 发现没有dhcp配置的信息,只...

tahiti_aa
今天
2
0
以太坊助记词PHP开发包简介

以太坊助记词PHP开发包用来为PHP以太坊应用增加助记词和层级确定密钥支持能力。下载地址:以太坊助记词php开发包 。 1、开发包概述 以太坊助记词PHP开发包主要包括以下特性: 生成符合BIP39...

汇智网教程
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部