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

admin3年前网站建设75

近几天公司里开发的项目有几个运行在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)/(.*)(.*)" />
                    <action type="Rewrite" url="{R:1}/index.php\/{R:2}{R:3}" />
                </rule>
                <rule name="规则 4" stopProcessing="true">
                    <match url="^(.*)(.*)" />
                    <action type="Rewrite" url="index.php\/{R:1}{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" />
<action type="Rewrite" url="index.php" />
</rule>
 
<rule name="Rule1" stopProcessing="true">
<match url="^news_([0-9]+)" />
<action type="Rewrite" url="news.php?nid={R:1}" />
</rule>
  
<rule name="Rule2" stopProcessing="true">
<match url="news_list_([0-9]+)_([0-9]+)" />
<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="^$" />
</conditions>
<action type="Redirect" url="/{R:0}" redirectType="Permanent" />
</rule>
 
</rules>
</rewrite>
</system.webServer>
</configuration>






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

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

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

干货:企业产品网站三个月关键词排名上首页,农村包围城市

让一个企业产品网站三个月内主关键词排名上百度首页不知道大家以为难不难,在这之前我也认为很难,但是看了朋友的操作案例后,给我做了站内分析“农村包围城市”,我相信了。 在这里不少读者就说了,“农村包围城市...

企业建网站效果不好的几点原因

网站可以为企业起到具大的作用这是无庸置疑的,但大部分网站却只能被企业当成印刷到名片上或宣传册上的一个固定网址。起不到它应该起的作用。可以说90%以上的网站做好以后没有起到任何效果,白白浪费了人力、物力...

建网站中的网站空间和数据库空间有什么区别?

最近有客户问,定制网站制作中的网站空间和数据库有什么区别?网站空间不包括数据库空间吗?今天,我们就来讨论一下这个问题。 网站就像一个容器。网站的文件和资料的容量,包括文字、文档、数据库、页面...

SEO实战干货:网页建库与未建库的标准规则!

很多SEO人稍微有点基础就都知道降权这个词语,但是在搜索引擎规范标准指南里面并未提到站点降权一说,严格来讲用建库这个说法更加准确。 首先我们不妨来回顾一下搜索结果排序的过程,从蜘蛛的爬行到蜘蛛的抓取再...

网站建设怎么从设计中加强企业的抓取点?

一个好的网站更像一棵参天的大树,参天大树的特点是稳定且更新的,而设计网站也是一样的,更新的内容需要不断扩展,才能达到有效的展示方式,所以,加强网站界面的设计可以让用户注意到这些精心制作的元素,现在,小...

网站建设安全知识

在互联网飞速发展的今天,每个行业都在发生着变化。随着互联网的发展,网站建设或多或少存在安全隐患。下面是关于网站制作安全的知识。1.提高安全意识,提前做好防范大数据时代,我们每个人都非常注重隐私保护,但...