zoukankan      html  css  js  c++  java
  • Windows服务器下用IIS Rewrite组件为IIS设置伪静态方法

    1、将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件下载 http://www.helicontech.com/download-isapi_rewrite.htm , IIS Rewrite 简化版组件下载 http://www.newhua.com/soft/71446.htm ,下载下来解压后不用安装拷到目

    1、将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件下载http://www.helicontech.com/download-isapi_rewrite.htm,IIS Rewrite 简化版组件下载http://www.newhua.com/soft/71446.htm,下载下来解压后不用安装拷到目录下设置好即可使用。

    注:IIS Rewrite简单使用方法介绍:一个功能强大的URL处理引擎,功能和Apache的 mod_Rewrite类似,这个是For IIS版本 可以把像list.asp?id=234 这样的链接映射成 list/234.html 这样就有利于在GG中的排名

    完全版(Full)与简化版(Lite)的最大的区别在于可以让每个站点自定义URL重写规则(Rewrite Rule),也就是只要将写好的httpd.ini放在站点根目录,就能使用了。

    安装说明:下载后可以解压出 ISAPI_Rewrite.dll ,httpd.ini 这两个文件放到某个文件夹下面,然后在 IIS 站点属性的 ISAPI 中加载 ISAPI_Rewrite.dll  就可以了, httpd.ini  是配置文件里面有例子。如果加载不成功的话 请给 ISAPI_Rewrite.dll   安全属性为完全。



    2、在“IIS管理器”里选择网站,右键,属性。

     

    3、选择“ISAPI”,点击“添加”。



    4、填入筛选器名称,如“rewrite”。

     

    5、可执行文件下方点击“浏览”,选择刚才解压的Rewrite组件位置,Rewrite.dll。

     
    6、确认选择正确后,点击“确定”。

    7、点击“确定”,完成筛选器添加。

    8、重启IIS。

     

    9、重启IIS后,再次选择站点,右键,属性,看到如下所示向上的绿箭头,说明 IIS Rewrite 成功添加并运行。

     

    IIS Rewrite 规则设置

    解压后的 IIS Rewrite 组件目录(如 C:Rewrite)中,有一个 httpd.ini 文件,将相应规则写入到这个文件中即可。

    1. 安装重写插件Rewrite.dll

    如果你的 IIS 服务器加载过 Rewrite.dll 则可以不用下载。

    Rewrite.dll文件:百度搜索关键字:Rewrite.dll 下载

    加载 Rewrite.dll

    在 IIS 的 Isapi 上添加筛选器

    筛选器名称为:re

    可执行文件选择 Rewrite.dll 就可以了!

    2. 配置 httpd.ini
    打开你的httpd.ini,找到

    [ISAPI_Rewrite]

    # 3600 = 1 hour
    CacheClockRate 3600

    RepeatLimit 32

    # Protect httpd.ini and httpd.parse.errors files
    # from accessing through HTTP
    RewriteRule ^(.*)/archiver/([a-z0-9-]+.html)$ $1/archiver/index.php?$2
    RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3
    RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3
    RewriteRule ^(.*)/profile-(username|uid)-(.+?).html$ $1/viewpro.php?$2=$3

    以上是 Discuz!官方提供的配置代码,注意正则格式。

    3. 应用
    比如,将read.php?bl_id=123&bu_id=456 伪静态成 /html/123/456.html

    可以这样写:

    RewriteRule ^(.*)/html/([0-9]+)/([0-9]+).html$ $1/read.php?bl_id=$2&bu_id=$3

    要使你的IIS服务器支持伪静态重写,按以下步骤来:

    1. 安装重写插件Rewrite.dll

    如果你的 IIS 服务器加载过 Rewrite.dll 则可以不用下载。

    加载 Rewrite.dll

    在 IIS 的 Isapi 上添加筛选器

    筛选器名称为:re

    可执行文件选择 Rewrite.dll 就可以了!

    2. 配置 httpd.ini
    打开你的httpd.ini,找到

    [ISAPI_Rewrite]

    # 3600 = 1 hour
    CacheClockRate 3600

    RepeatLimit 32

    # Protect httpd.ini and httpd.parse.errors files
    # from accessing through HTTP
    RewriteRule ^(.*)/archiver/([a-z0-9-]+.html)$ $1/archiver/index.php?$2
    RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3
    RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3
    RewriteRule ^(.*)/profile-(username|uid)-(.+?).html$ $1/viewpro.php?$2=$3

    以上是 Discuz!官方提供的配置代码,注意正则格式。

    3. 应用
    比如,将read.php?bl_id=123&bu_id=456 伪静态成 /html/123/456.html

    可以这样写:

    RewriteRule ^(.*)/html/([0-9]+)/([0-9]+).html$ $1/read.php?bl_id=$2&bu_id=$3

    再例:

    123.php?id=123
    123/id/123
    RewriteRule ^123/id/([0-9][0-9][0-9])/$ /123.php?id=$1
    or
    RewriteRule ^123/id/([0-9]+)$ /123.php?id=$1

    PW的规则:[ISAPI_Rewrite]
    RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
    RewriteRule ^(.*)/simple/([a-z0-9_]+.html)$ $1/simple/index.php?$2

    注:比如互动百科的伪静态,设置方法和这些都是差不多的,学会这个方法了其它的一些系统的伪静态设置都是差不多的,不同的可能就是伪静态的规则设置会不一样。

    个人备注:

    这里的$1, $2, $3就是前一个表达式的匹配值

    比如:

    ^(.*)/simple/([a-z0-9_]+.html)$ $1/simple/index.php?$2

  • 相关阅读:
    【贪心 堆】luoguP2672 推销员
    【贪心 思维题】[USACO13MAR]扑克牌型Poker Hands
    「整理」[图论]最短路系列
    收集到的小玩意儿
    初遇构造函数
    在2440开发板液晶上显示两行字
    error: converting to execution character set: Invalid or incomplete multibyte or wide character
    宽字节
    宽字符wchar_t和窄字符char区别和相互转换
    linux获取文件大小的函数
  • 原文地址:https://www.cnblogs.com/chenying99/p/1981957.html
Copyright © 2011-2022 走看看