IIS7 伪静态 web.config 配置方法【详解】

IIS7 做伪静态比较的简单方便  

1.程序方面

只需要设置web.config 就可以了。

2.服务器需要安装:URL Rewrite

下载地址:http://www.iis.net/download/URLRewrite

Godaddy 的主机已经安装这个插件。

本地在测试的时候 请查看自己是否安装这个插件。

注意要点

1.参数用“()” 括起来 ,使用 {R:1}来获得参数

2.多个参数中间用 & 分割

3.name切记不能写一样 

<?xml version="1.0"?>
 
<configuration>
<system.webServer>
        <rewrite>
            <rules>
                <!--301重定向把不带3W的域名 定向到带3W-->
                <rule name="Redirect" stopProcessing="true">
                    <match url=".*" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^haoxinwen.info$" />
                    </conditions>
                    <action type="Redirect" url="http://www.haoxinwen.info/{R:0}" redirectType="Permanent" />
                </rule>
                <!--首页-->
                <rule name="rD">
                    <match url="^$" />
                    <action type="Rewrite" url="Default.aspx" />
                </rule>
                <!--产品列表-->
                <rule name="rP">
                    <match url="^product/$" />
                    <action type="Rewrite" url="ProductList.aspx" />
                </rule>
                <!--产品列表第几页-->
                <rule name="rPL">
                    <match url="^product/list-([0-9]*).html$" />
                    <action type="Rewrite" url="ProductList.aspx?page={R:1}" />
                </rule>               
                <!--产品类别列表-->
                <rule name="rPT">
                    <match url="^product/([A-Za-z0-9-]*)/$" />
                    <action type="Rewrite" url="ProductList.aspx?typeUrl={R:1}" />
                </rule>
                <!--产品类别列表第几页-->
                <rule name="rPTL2">
                    <match url="^product/([A-Za-z0-9-]*)/list-([0-9]*).html$" />
                    <action type="Rewrite" url="ProductList.aspx?typeUrl={R:1}&page={R:2}" />
                </rule>
                <!--产品详细-->
                <rule name="rPd">
                    <match url="^product/([A-Za-z0-9-]*)/([A-Za-z0-9-]+).html$" />
                    <action type="Rewrite" url="ProductDetail.aspx?typeUrl={R:1}&url={R:2}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

举个栗子:

在iis新建了一个叫做hello的站点,端口:8088

IIS7 伪静态 web.config 配置方法【详解】

站点目录新建一个index.html文件,内容 <h1>hello world</h1>

启动站点,浏览器输入:http://localhost:8088/

IIS7 伪静态 web.config 配置方法【详解】

ok,站点已经成功运行

打开站点目录,新建一个web.config 文件

IIS7 伪静态 web.config 配置方法【详解】
<?xml version="1.0"?>
<configuration>
<system.webServer>
        <rewrite>
            <rules>
                <!--我的规则-->
                <rule name="myrule">
                    <match url="^hello$" />
                    <action type="Rewrite" url="index.html" />
                </rule>
                <!--我的规则2-->
                <rule name="myrule2">
                    <match url="^jy/good$" />
                    <action type="Rewrite" url="jy/good.html" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

ps:安装 URL Rewrite 后才可以使用rewrite标签

 启动站点,打开浏览器,输入路由地址:http://localhost:8088/jy/good

然后会匹配到站点的 jy/good.html 文件,如下:

IIS7 伪静态 web.config 配置方法【详解】

good.html 内容为 <h1>Good</h1>

 浏览器显示:

IIS7 伪静态 web.config 配置方法【详解】

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9891

赞 (0)
凯影的头像凯影
上一篇 2023年10月23日 下午5:24
下一篇 2023年10月25日 下午4:20

相关推荐

  • DeDeCMS MySQL Column ‘nature’ has duplicated value ‘婆婆妈妈’ in SET 错误解决方案

    我们在做网站迁移,或者备份数据库时,需要导出一个.sql的数据库文件,然后再把这个.sql文件导入到新的数据库当中,但是我们在导入 dedecms 模板的 sql 数据库时,有时候会提示 Column ‘nature’ has duplicated value ‘婆婆妈妈’ in SET 这个错误的,那么我们该如何去解决呢? 解决方案一: 登录到原有的程序后…

    2022年6月14日
    2.1K00
  • WordPress无法上传图片、文件(服务器找不到上传的图片文件)

    前言 昨天写了一张文章,发现无法上传特色图片。 上传图片显示如下: 我们复制图片路径的URL,此时出现404问题 根本没有12月份的路径 重点: 为了这个问题我解决了一上午。 网上的大多数方法就是给uploads设置权限,但是我的权限已经是755了,而且是nginx的属主和属组,应该不是权限问题 分析问题 调试模式出现404,说明服务器基本上没有上…

    2023年3月24日
    1.8K00
  • ThinkPHP 出现“您浏览的页面暂时发生了异常!请稍后再试~”的解决方法

    ThinkPHP3.0 第一次运行入口文件,之后在修改Action只要是有数据库操作,就会出现“您浏览的页面暂时发生了错误!请稍后再试~”的系统提示错误。 解决办法是: 把项目里自动生成的runtime文件夹下~runtime.php文件删掉,再刷新浏览器页面就会正常显示数据库提取的信息

    2024年2月28日
    3.3K00
  • LNMP黄金架构的搭建

    LNMP组合工作流程 LNMP工作流是用户通过浏览器输入域名访问Nginx web服务,Nginx判断请求是静态请求则由Nginx返回给用户。如果是动态请求(如.php结尾),那么Nginx会将该请求通过FastCGI接口发送给PHP引擎(php-fpm进程)进行解析,如果该动态请求需要读取mysql数据库,php会继续向后读取数据库,最终Nginx将获取的…

    2022年7月7日
    2.3K00
  • Linux 宝塔部署 ASP.NET Core 应用

    第一步,发步应用 我这是一个API 应用和 MVC 应用 设置,服务器上要运行的端口 API 端口5000 MVC 端口5001 打包文件夹,发步 1、桌面新建俩个文件夹 2、右键项目发步,选中iis 目标位置选择刚刚桌面上创建的API文件夹 MVC 同理,这里不做演示 第二步、安装LInux ASP.NET Core 运行时环境 1、连接服务器 2、执行以…

    2023年3月8日
    2.8K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信