伪静态设置IIS版

首首先我们要修改httpd.ini后请重启IIS

把以下内容保存为httpd.ini即可:

[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32

#上面三行不要改动,以下为规则设置
RewriteRule /([0-9,a-z]*)/(\d+).html /$1/3wow.mobi?InfoID=$2 [I]
#文件内容结束

附加说明一下设置规则时的格式:

I (ignore case)不管大小写强行指定字符匹配
例:RewriteRule /code/project/([0-9,a-z]*).html /3wow.mobi\?softpy=$1 [I]

其他的参数一览
I (ignore case)
不管大小写强行指定字符匹配,这个FLAG影响RewriteRule指令和相应的RewriteCond 指令

F (Forbidden)
对客户端做反应,停止REWRITING进程并且发送403错误,注意在这种情况下FORMATSTRING 是无用的并可以设置为任何非空字符串。

L (last rule)
不应用任何重写规则在此停止重写进程,使用这个FLAG以阻止当前被重写的URI被后面的规则再次重写

N (Next iteration)
强制REWRITINGENGINE调整规则目标并且从头重启规则检查(所有修改将保存),重启次数由RepeatLimit指定的值限制,如果这个数值超过N FLAG将被忽略

NS (Next iteration of the same rule)
以N标记工作不从相同的规则重启规则规则进程(例如强制重复规则应用),通过RepeatLimit指令指定一个反复实行某一规则的最大数目,

P (force proxy)
强制目的URI在内部强制为代理需求并且立即通过ISAPI扩展应付代理需求,必须确认代理字符串是一个有效的URI包括协议主机等等否则代理将返回错误

R (explicit redirect)
强制服务器对客户端发出重定向指示即时应答,提供目的URI的新地址,重定向规则经常是最后规则

RP (permanent redirect)
几乎和[R]标记相同但是发布301HTTP状态而不是302HTTP状态代码

U (Unmangle Log)
当URI是源需求而不是重写需求时记载URI

O (nOrmalize)
在实行之前标准化字符串。标准化包括URL-ENCODING,不合法的字符的再移动等,这个标记对于URLS和URLS-ENDODED头是有用的

CL (Case Lower)
小写

CU (Case Upper)
大写

另外,设置时就是用正则表达示模糊匹配。简单一下常用的:
([a-z]*) 匹配小写英文字母
(\d+) 和 ([0-9]*) 匹配数字
(.*) 模糊匹配,包括字母和数字及其他非换行符号

例:

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP RewriteRule /3wow_(\d+)\.html /3wow\.mobi\?npage=$1 [N,I]
# 这里是解析帖子列表 安装根目录

#不带参数直接转的
RewriteRule /index\.html                           /index\.asp

#带一个数字型参数的
RewriteRule /index-(\d+)\.html                  /index\.asp\?anid=$1

#带一个字母数字混和型参数的
RewriteRule /index-([0-9,a-z]*)\.html           /index\.asp\?an1=$1

#带一个字母型参数的
RewriteRule /index_([a-z]*)\.html               /index\.asp\?an=$1

#带一个数字型参数的
RewriteRule /3wow-(\d+)\.html           /products\.asp\?id=$1

#带一个字母型参数加两个数字的
RewriteRule /class-([a-z]*)-(\d+)-(\d+)\.html   /class\.asp\?lx=$1&anid=$2&nid=$3

httpd.ini来实现301重定向

下面详细讲讲在window+iis 环境下如何利用httpd.ini来实现301重定向。当然也会提到302重定向。
不同的ISAPI_Rewrite版本会有所不同,我们一个一个来看:
ISAPI_Rewrite 1.x下‍:ISAPI是1.3不能实现301永久性重定向的,只能实现302临时性重定向,就像我的主机一样,有点可惜。此时可以利用404页面实现301重定向。
<blockquote>[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
# For ISAPI_Rewrite 1.x
RewriteCond Host: ^jsjk114\.com$
RewriteRule(.*) http\://www\.jsjk114\.com$1 [R,I]
# 注意此处只是实现了302重定向

# For ISAPI_Rewrite 2.x
RewriteCond Host: ^jsjk114\.com$
RewriteRule(.*) http\://www\.jsjk114\.com$1 [I,RP]
# For ISAPI_Rewrite 3.x
RewriteCond%{HTTP:Host} ^jsjk114\.com$
RewriteRule (.*) http\://www\.jsjk114\.com$1[NC,R=301]
</blockquote>说明:[I,RP]:I表示忽略大小写,RP表示使用301转向,以上都是整个域名重定向。
详细的可以‍查阅ISAPI Rewrite2官方使用手册

时间: 2024-11-05 23:21:41

伪静态设置IIS版的相关文章

MySQL+PHP配置 Windows系统IIS版

MySQL+PHP配置 Windows系统IIS版 1.下载 MySQL下载地址:http://dev.mysql.com/downloads/mysql/5.1.html->Windows (x86, 32-bit), MSI Installer Essentials - Recommended(不包含文档)-> No thanks, just start my download.(无需登录注册 直接下载) PHP下载地址:www.php.net->5.4.44版本->选择Win

Webserver asp配置及伪静态设置

Webserver  IIS asp配置及伪静态设置 一.概述: 在Windows Server 2003系统中,用户可以借助IIS 6.0配置基于ASP.PHP.asp.NET等语言的动态Web网站.动态Web网站基于数据库技术,能够实现较为全面的功能.动态网站具有交互性强.自动发布信息等特点,更适合公司.企业使用. 二.配置asp: 1.iis中创建网站: 2.启用目录(目录浏览) 3.启用父路径(asp) 4.添加index.asp(默认文档) 5.启用32应用程序(程序池) 三.配置伪静

伪静态设置

伪静态设置,最大的好处就是方便 蜘蛛爬行收录哦 伪静态设置,布布扣,bubuko.com

设置IIS服务器监听特定IP的特定端口(IIS与IHS或Apache共存的解决方案)

在灾难恢复的试验中,遇到了一个IIS无法启动的情况,会报如下的错误: "The network location cannot be reached, xxxxxx" 要知道,Windows报的这种弹窗错误,也只能通过Windows自带的事件管理器里查看了.直接运行:eventvwr,打开SYSTEM项,一个大大的错误映入眼帘: 所以错误就很明显了,没有把我们的新地址添加到监听列表里... 根据搜索,发现仅仅用IIS的图形界面工具,似乎无法让IIS去监听某一个IP地址的某个端口,必须要

windows2008设置IIS服务器定时自动重启的方法

我们在使用windows2008下IIS服务器时会经常出现资源耗尽的现象,运行一段时间下来就会出现访问服务器上的网站时提示数据库连接出错,重启IIS后网站又能正常访问了,这个问题可能困扰了很多站长朋友.青岛做网站经过不断的实践找到了一个比较笨,但是有效的方法,那就是设置windows2008IIS服务器定时自动重启,在Windows的任务计划中指定一个时间让 IIS服务器自动重启. 设置IIS服务器定时自动重启的方法:(这里我以Windows Server 2008为例) 1.首先开启Windo

Ecshop导航栏标题栏的伪静态设置

当Ecshop的伪静设置成功之后,左侧的分类标签,包括具体的产品页面都可以顺利的打开伪静态页面,但是点击导航栏,或者标题栏的时候,却还是之前的数据库标签页的方式,这是怎么一回事呢? 这是由于,Ecshop的默认模板的导航栏,是采用直接指定页面的方式来制定的,所以当伪静态设置成功了之后,需到后台手动修改导航栏的链接页面,就可以了,具体操作顺序如下: 找到“系统设置”的“自定义导航栏”栏目,点击进入: 找到自己需要修改的导航栏目,点“编辑”: 如下,手动修改链接地址,或者修改系统栏目到指定的相关栏目

Drupal Nginx伪静态设置方法

location ~ ^.*/files\/styles\/.*$ { access_log off; expires 45d; error_page 404 @drupal; } location @drupal { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?q=$1 last; } } # Drupal Rewrite location / { root /path/to/drupal; index index.php i

帝国cms栏目伪静态设置

帝国cms栏目伪静态设置有三个地方 第一后台系统,伪静态规则设置,如: 信息列表页 [!--classid--],[!--page--] /   第二栏目设置为: 栏目页模式  静态页面  动态页面 第三在服务器(我用的是VPS-centos+apache多虚拟主机) RewriteEngine on RewriteRule ^/glist-(.+?)-(.+?)\.html$ /e/action/ListInfo/index\.php\?classid=$1&page=$2 这两个配置很关键,

.htaccess转为web.config的操作技巧 apache伪静态转为iis伪静态

apache伪静态转为iis伪静态,完美实现伪静态转化.前提条件如下: 1.安装有iis管理器: 2.iis服务器上安装URL Rewrite: 转化步骤如下: 1.点击默认站点,在右侧打开URL Rewrite: 2.点击右侧导入规则: 3.选择要转化的.htaccess文件: 4.开始导入并复制转化之后的web.config伪静态规则: 原文地址:https://www.cnblogs.com/waiku/p/11753688.html