IIS 7.5通过web.config设置伪静态规则方法

 is7.5下常见程序通过web.config实现伪静态新建一个以web.config命名的文件内容为

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
<!--将下面的规则添加到这里-->
    </system.webServer>
</configuration>
  

记得后台的伪静态要开启喔

以shopex规则示例如下,选择需要的规则添加:

<!--shopex-->
<rewrite>
            <rules>
                <rule name="disableDownloadThemeHtml">
                    <match url="^themes/.*.(html|xml)$" ignoreCase="false" />
                    <action type="CustomResponse" url="/" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
                </rule>
                <rule name="urlRewrite">
                    <match url="^(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" pattern=".(html|xml|json|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|cgi|shtml|shtm|phtm)$" ignoreCase="false" />
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" pattern="" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="index.php?{R:1}" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
<!--dz2.0-->
<rewrite>
<rules>
  <rule name="portal_topic">
   <match url="^(.*/)*topic-(.+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/portal.php?mod=topic&amp;topic={R:2}&amp;{R:3}" />
  </rule>
  <rule name="portal_article">
   <match url="^(.*/)*article-([0-9]+)-([0-9]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/portal.php?mod=view&amp;aid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_forumdisplay">
   <match url="^(.*/)*forum-(w+)-([0-9]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php?mod=forumdisplay&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_viewthread">
   <match url="^(.*/)*thread-([0-9]+)-([0-9]+)-([0-9]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php?mod=viewthread&amp;tid={R:2}&amp;extra=page={R:4}&amp;page={R:3}&amp;{R:5}" />
  </rule>
  <rule name="group_group">
   <match url="^(.*/)*group-([0-9]+)-([0-9]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php?mod=group&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="home_space">
   <match url="^(.*/)*space-(username|uid)-(.+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/home.php?mod=space&amp;{R:2}={R:3}&amp;{R:4}" />
  </rule>
  <rule name="home_blog">
   <match url="^(.*/)*blog-([0-9]+)-([0-9]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/home.php?mod=space&amp;uid={R:2}&amp;do=blog&amp;id={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_archiver">
   <match url="^(.*/)*(fid|tid)-([0-9]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/index.php?action={R:2}&amp;value={R:3}&amp;{R:4}" />
  </rule>
</rules>
</rewrite>
<!--dz2.5-->
<rewrite>
<rules>
  <rule name="portal_topic">
   <match url="^(.*/)*topic-(.+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/portal.php?mod=topic&amp;topic={R:2}&amp;{R:3}" />
  </rule>
  <rule name="portal_article">
   <match url="^(.*/)*article-([0-9]+)-([0-9]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/portal.php?mod=view&amp;aid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_forumdisplay">
   <match url="^(.*/)*forum-(w+)-([0-9]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php?mod=forumdisplay&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_viewthread">
   <match url="^(.*/)*thread-([0-9]+)-([0-9]+)-([0-9]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php?mod=viewthread&amp;tid={R:2}&amp;extra=page={R:4}&amp;page={R:3}&amp;{R:5}" />
  </rule>
  <rule name="group_group">
   <match url="^(.*/)*group-([0-9]+)-([0-9]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/forum.php?mod=group&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
  </rule>
  <rule name="home_space">
   <match url="^(.*/)*space-(username|uid)-(.+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/home.php?mod=space&amp;{R:2}={R:3}&amp;{R:4}" />
  </rule>
  <rule name="home_blog">
   <match url="^(.*/)*blog-([0-9]+)-([0-9]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/home.php?mod=space&amp;uid={R:2}&amp;do=blog&amp;id={R:3}&amp;{R:4}" />
  </rule>
  <rule name="forum_archiver">
   <match url="^(.*/)*(fid|tid)-([0-9]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/index.php?action={R:2}&amp;value={R:3}&amp;{R:4}" />
  </rule>
  <rule name="plugin">
   <match url="^(.*/)*([a-z]+[a-z0-9_]*)-([a-z0-9_-]+).html?*(.*)$" />
   <action type="Rewrite" url="{R:1}/plugin.php?id={R:2}:{R:3}&amp;{R:4}" />
  </rule>
</rules>
</rewrite>

时间: 2025-01-01 21:34:55

IIS 7.5通过web.config设置伪静态规则方法的相关文章

IIS7.5使用web.config设置伪静态的二种方法_win服务器

近几天公司里开发的项目有几个运行在IIS7.5上,由于全站采用的是伪静态,因此从网上找到两两种方法来实现.这两种方法各有优势:第一种比较灵活,只要把文件拷到根目录下,即可直接显示所有伪静态页面(适用于此伪静态规则的所有项目,如ThinkPHP),无需更改代码:第二种适合有子目录时的伪静态,比如一个网站下有多个子网站且都要使用伪静态,那么就考虑使用第二种方法了,第一种会报错误.两种方法,自己根据情况使用吧(当然,并不是适用所有项目,可以根据项目的伪静态规则自行调整).以下是代码: 第一种方法:we

IIS7.5使用web.config设置伪静态的二种方法(转)

近几天公司里开发的项目有几个运行在IIS7.5上,由于全站采用的是伪静态,因此从网上找到两两种方法来实现.这两种方法各有优势:第一种比较灵活,只要把文件拷到根目录下,即可直接显示所有伪静态页面(适用于此伪静态规则的所有项目,如ThinkPHP),无需更改代码:第二种适合有子目录时的伪静态,比如一个网站下有多个子网站且都要使用伪静态,那么就考虑使用第二种方法了,第一种会报错误.两种方法,自己根据情况使用吧(当然,并不是适用所有项目,可以根据项目的伪静态规则自行调整).以下是代码: 第一种方法:we

急!如何通过web.config设置缓存

问题描述 有个以前的.net1.1版本的web程序,现在由于数据太多,多以导致执行效率降低.我想能不能通过web.config设置缓存,这样来减少访问数据库的次数,提高效率.可以吗?web.config如何设置?我主要是针对减少查询sql的次数. 解决方案 解决方案二:学习,关注解决方案三:up

一起谈.NET技术,更改SharePoint 的web.config设置的两种方式

MSDN上写的不是很明白,自己测试通过,记录一下: 方法一:通过创建描述一组 Web.config 修改的 XML 文件以声明方式注册 Web.config 项. 备注: 直接写一个webconfig.**.xml到14文件夹下的CONFIG中,在运行stsadm -o copyappbincontent 效果是一样的: 方法一有个缺点,会把所有WebApplication的web.Config都修改掉: 1.在sharepoint解决方案里添加14文件夹下的CONFIG文件夹,新建webcon

更改“.NET研究”SharePoint 的web.config设置的两种方式

MSDN上写的不是很明白,自己测试通过,记录一下: 方法一:通过创建描述一组 Web.config 修改的 XML 文件以声明方式注册 Web.config 项. 备注: 直接写一个webconfig.**.xml到14文件夹下的CONFIG中,在运行stsadm -o copyappbincontent 效果是一样的: 方法一有个缺点,会把所有WebApplication的web.Config都修改掉: 1.在sharepoint解决方案里添加14文件夹下的CONFIG文件夹,新建webcon

C#获取web.config配置文件内容的方法

本文实例讲述了C#获取web.config配置文件内容的方法.分享给大家供大家参考.具体实现方法如下: 1.ConfigurationManager提供对客户端应用程序配置文件的访问. 其有两个属性:ConnectionStrings 获取当前应用程序默认配置的 ConnectionStringsSection 数据. 方法一: 代码如下: string myConn =System.Configuration.ConfigurationManager.ConnectionStrings["sq

IIS7中web.config给EMLOG设置伪静态规则实例

今天看到论坛上有一位小盆友不会弄IIS7环境下的EMLOG伪静态规则,于是骚包就分享给大家一下这个伪静态规则的代码:  代码如下 复制代码 <?xml version="1.0" encoding="UTF-8"?> <configuration>     <system.webServer>         <rewrite>             <rules>                 <

Web.config设置system.webServer

一般情况在iis部署web网站都非常顺利,但是遇到复杂环境,或者被配置过又正在使用的时候,就束手无策了, 因为对IIS和Web.config不熟悉,不知其中要害,导致浪费一天甚至更久的时间去处理一个可能是不起眼的配置问题 本文主要和大家共同探讨下Web.config的system.webServer节点配置,如有错误之处,劳烦指点下 环境:IIS 7.0及以上 一.总览 system.WebServer 是 configuration 节的子级.有关更多信息,请参见 IIS 7.0: syste

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

在 IIS7中我们不再需要安装其他组件,通过在 web.config 进行简单的配置即可实现 URL 的伪静态.方法如下: 在 web.config 配置文件的 configuration 节点中加入下边的代码:  代码如下 复制代码 <system.webServer>     <rewrite>         <rules>             <rule name="rulename">                 <