服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - IIS - IIS7.5使用web.config设置伪静态的二种方法

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

2020-08-28 16:21IIS之家 IIS

IIS7.5使用web.config设置伪静态方法,有需要的朋友可以参考一下。

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

第一种方法:web.config

复制代码 代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
 <rewrite>
  <rules>
  <rule name="OrgPage" stopProcessing="true">
  <match url="^(.*)$" />
  <conditions logicalGrouping="MatchAll">
  <add input="{HTTP_HOST}" pattern="^(.*)$" />
  <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
  <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
  </conditions>
  <action type="Rewrite" url="index.php/{R:1}" />
  </rule>
  </rules>
 </rewrite>
    </system.webServer>
</configuration>

 

第二种方法:web.config

复制代码 代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="规则 1" stopProcessing="true">
                    <match url="^includes/(.*)" />
                    <action type="Rewrite" url="includes\/{R:1}" />
                </rule>
    <rule name="规则 2" stopProcessing="true">
                    <match url="^(blog)/includes/(.*)" />
                    <action type="Rewrite" url="{R:1}/includes\/{R:2}" />
                </rule>
                <rule name="规则 3" stopProcessing="true">
                    <match url="^(blog)/(.*).html(.*)" />
                    <action type="Rewrite" url="{R:1}/index.php\/{R:2}.html{R:3}" />
                </rule>
                <rule name="规则 4" stopProcessing="true">
                    <match url="^(.*).html(.*)" />
                    <action type="Rewrite" url="index.php\/{R:1}.html{R:2}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

 

下面是补充:

IIS 7和IIS 7.5及以后的版本估计都会使用web.config来实现伪静态规则,于是我们以前的伪静态文件必须更改。网上找了一圈,还没有发现比较全面的web.config伪静态规则,于是我们这里整理一份,供初次使用的朋友参考。

实现普通页面、带一个数字参数页面和带两个参数页面的伪静态!

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
 
<rule name="Index" stopProcessing="true">
<match url="^index.html" />
<action type="Rewrite" url="index.php" />
</rule>
 
<rule name="Rule1" stopProcessing="true">
<match url="^news_([0-9]+).html" />
<action type="Rewrite" url="news.php?nid={R:1}" />
</rule>
  
<rule name="Rule2" stopProcessing="true">
<match url="news_list_([0-9]+)_([0-9]+).html" />
<action type="Rewrite" url="news_list.php?nid={R:1}&amp;page={R:2}" />
</rule>
 
</rules>
</rewrite>
</system.webServer>
</configuration>

IIS 7.5通过web.config实现301重定向的方法,将不带www的域名转向到带www的域名上!

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
 
<rule name="Redirect" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^zzvips.com$" />
</conditions>
<action type="Redirect" url="http://www.zzvips.com/{R:0}" redirectType="Permanent" />
</rule>
 
</rules>
</rewrite>
</system.webServer>
</configuration>

由于我们的网站使用了转义字符,因此在实际使用的时候,大家不可以直接复制以上代码。请复制粘贴到Dreamweaver等编辑器后,使用替换功能把双引号全部替换为英文状态下的双引号,然后再修改rule标签内的内容就可以了,跳转的地方请更改为自己的网址即可。

需要注意的地方是以前httpd.ini和.htaccess支持网址中两个参数用&符号链接,在web.config中是不支持的,需要将这个符号更改为&才能正常使用。由于我们目前只有一台这种类型的服务器使用经验,有可能存在不足,如有更多更全面的资料,欢迎交流学习!

延伸 · 阅读

精彩推荐
  • IISIIS6.0中配置php服务全过程解析

    IIS6.0中配置php服务全过程解析

    网上有很多介绍在 IIS 6 上配置 PHP 的文章,但是那些方法不是性能不好,就是升级麻烦。下面的方法可以让你在第一次配置好后,能够非常方便的进行升级...

    服务器之家3102020-05-14
  • IIS阿里云web服务器如何开启iis

    阿里云web服务器如何开启iis

    阿里云 是国内领先的云计算服务提供商之一,其提供的 云服务器 (ECS)是广受企业和个人用户青睐的云计算产品之一。在使用 阿里云 ECS过程中,很多用...

    未知2982023-05-10
  • IISIIS6、IIS7、IIS7.5取消服务器主机空间目录脚本的执行权限的方法

    IIS6、IIS7、IIS7.5取消服务器主机空间目录脚本的执行权限的方法

    本篇将针对不同服务器环境来介绍如何取消 这两个目录的执行权限,当然我们也建议用户其他一些生成纯静态html的目录,拥有可写入权限的也统统去除执...

    服务器之家3112020-06-12
  • IISInternet信息服务(IIS)管理器在哪里打开

    Internet信息服务(IIS)管理器在哪里打开

    有时候我们在使用电脑的时候,想打开Internet信息服务(IIS)管理器,怎么打开呢,下面来分享一下方法...

    百度经验34612020-05-10
  • IIS让IIS支持webp格式的图片

    让IIS支持webp格式的图片

    WebP(发音:weppy)是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式,派生自影像编码格式VP8,被认为是WebM多媒体格式的姊妹项目,是由...

    未知1722023-07-28
  • IISIIS上如何添加PHP运行环境

    IIS上如何添加PHP运行环境

    本篇内容介绍了“IIS上如何添加PHP运行环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何...

    未知1232023-05-10
  • IIS云服务器怎么建立iis

    云服务器怎么建立iis

    云服务器 怎么建立IIS 云服务器是一种基于云计算技术的虚拟化服务器,它允许用户通过互联网访问和管理自己的服务器。而IIS(Internet Information Services)是...

    未知1352023-06-18
  • IISwindows IIS权限经典设置教程

    windows IIS权限经典设置教程

    根据最新的黑客攻击方法显示,如果在IIS的站点属性打开了“写入”权限,则被黑是轻而易举的事。 ...

    IIS教程网12452021-08-02