技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

win2012(IIS8.5)伪静态重写无后缀URL【亲测】

作者:admin    时间:2022-8-29 11:4:59    浏览:

关于win2012(IIS8.5)伪静态重写无后缀URL的问题,困扰了我几天时间,一直在百度找不到能真正解决问题的方法。最后,还是Google资源更优质,它帮助我解决了这个在我看来就快要放弃的问题。

问题描述

伪静态重写无后缀URL,如:

http://www.webkaka.com/123
==>
http://www.webkaka.com/list.aspx?id=123

如果我们就上述伪静态编写规则,那么会提示:404 文件不存在

网上有人提到添加应用程序映射、模块等,很多人都转了这篇文章,但是这种方法其实是不对的。

解决方法

必需软件

  1. IIS7+ 伪静态的实现你必须先安装 URL 重写模块 rewrite 2.0
  2. 伪静态重写无后缀URL的实现,你需要安装 Application Request Routing (应用程序请求路由)。

软件下载及安装

安装时注意版本,64位系统选64位的软件,32位系统选32位的软件。

 1、安装rewrite 2.0

安装rewrite 2.0请参看下文。

2、安装application request routing:

安装 application request routing 请按下面IIS官网的网页的指引操作。

https://www.iis.net/downloads/microsoft/application-request-routing

设置方法

安装了上面两个软件之后,我们就可以在IIS里添加重写规则。

在IIS里添加重写规则 

很多人更喜欢直接在Web.config添加重写规则。

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.webServer>
      <rewrite>
        <rules>
          <rule name="rule1">
             <match url="^(.*)t/([0-9,a-z]*)" ignoreCase="false" />
             <action type="Rewrite" url="{R:1}/list.asp?id={R:2}" appendQueryString="false" />
          </rule>
        </rules>
      </rewrite>
  </system.webServer>
</configuration>

关于 IIS7+ 的伪静态,详细介绍请看《实例介绍Web.config rewrite规则设置url重写功能》。

伪静态重写无后缀URL

要伪静态重写无后缀URL,你必须首先启动 Application Request Routing (应用程序请求路由)

启动 Application Request Routing (应用程序请求路由)

注意,你要从 Internet Information Services (IIS)管理器 打开IIS,才能显示 Application Request Routing 的图标。在 计算机管理 里打开IIS,是看不到 Application Request Routing 的图标的。

这样,我们就可以编辑Web.config,添加伪静态重写无后缀URL规则了,如:

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.webServer>
      <rewrite>
        <rules>
          <rule name="rule1">
             <match url="^(.*)t/([0-9,a-z]*)" ignoreCase="false" />
             <action type="Rewrite" url="{R:1}/list.asp?id={R:2}" appendQueryString="false" />
          </rule>
        </rules>
      </rewrite>
  </system.webServer>
</configuration>

特别要注意的是,<rule>节点里的name值不能重复,否则网站访问报错。更多注意事项请看《实例介绍Web.config rewrite规则设置url重写功能》。

总结

本文介绍了win2012(IIS8.5)伪静态重写无后缀URL的方法,该方法对于 IIS7+ 都有效。

相关文章

标签: IIS8.5  IIS  伪静态  
x
  • 站长推荐
/* 左侧显示文章内容目录 */