详解Win2003 IIS6.0 301重定向带参数的问题(转摘)
网站更换域名,把旧域名用301指到新域名来。
从iis中设置url永久转向就可以,看上去很容易,用了一会儿才发现,参数都没有带上。
从微软网站上找到如下说明,果然好使:
重定向参考 (IIS 6.0)
重定向客户端请求是确保用户得到正确页面的一种方法,它适用于站点正在建设之中或已改变标识的情况。您可以将客户端请求重定向到同一 Web 服务器上的某个目录,或者重定向到另一个 URL。
配置 URL 和通配符重定向
可以采用编程方式配置重定向到 URL 以及通配符重定向。使用重定向变量和标志可以通过更改 HttpRedirect 配置数据库属性来指定目标和行为。
以下示例显示了一个简单重定向字符串的格式。
http://DestinationURL[,Flag[s]]
其中,DestinationURL 可以包括以下重定向变量,以将初始 URL 中相关的部分传递给目标 URL。在单个重定向字符串中可以使用多个变量。
变量 描述 示例
$S
将请求的 URL 的后缀传递给新的 URL。后缀是用重定向的 URL 代替之后,初始 URL 中所保留的部分。
如果未设置 EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
如果映射到以下网站的虚拟目录:
http://topsage/******s
配置为重定向到以下确切的 URL:
http://topsage/New******s$S
对以下 URL 的新请求:
http://topsage/******s/Program.exe
将自动重定向至以下 URL:
http://topsage/New******s/Program.exe
$P
将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,不包括问号 (?)。 如果映射到以下网站的虚拟目录:
http://topsage/******s
配置为重定向到以下 URL:
http://topsage/New******s$P
对以下 URL 的新请求:
http://topsage/******s/File.asp?var1=5&var2=6
将自动重定向至以下 URL:
http://topsage/New******svar1=5&var2=6
$Q
将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,包括问号 (?)。 如果映射到以下网站的虚拟目录:
http://topsage/******s
配置为重定向到以下确切的 URL:
http://topsage/New******s$S$Q
对以下 URL 的新请求:
http://topsage/******s/File.asp?var1=5&var2=6
将自动重定向至以下 URL:
http://topsage/New******s/File.asp?var1=5&var2=6
$V
传递请求的 URL,不包括服务器名和任何参数。要包含参数,可使用 $P 或 $Q 变量及 $V 变量。
如果未设置 EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
如果映射到以下网站的虚拟目录:
http://topsage/******s
配置为重定向到以下确切的 URL:
http://dajialuntan$V
对以下 URL 的新请求:
http://topsage/******s/File.asp
将自动重定向至以下 URL:
http://dajialuntan/******s/File.asp
使用通配符重定向
可以使用重定向通配符匹配原来 URL 中的任意数目的字符。目标 URL 以星号 (*) 和分号 (;) 开头,成对的通配符和目标 URL 之间用分号分隔。以下示例显示了一个使用通配符的重定向字符串的格式。
*; Wildcard1; Destination1[; Wildcard2; Destination2][, Flags]
其中,WildcardN 可以包括星号 (*) 以匹配初始 URL 中任何数量的字符,并使用下表中定义的变量($0 到 $9)将这些字符传递给 DestinationN。
变量 描述 示例
$0 到 $9 传递被请求的 URL 中与指定的通配符相匹配的部分。对于每个 Wildcard;Destination 集,通配符必须从 $0 开始。重定向字符串必须附加 EXACT_DESTINATION 标志。
如果映射到以下网站的虚拟目录:
http://topsage/******s
使用以下重定向字符串进行配置:
*; /******s/*_in.asp; /New******s/$0.dll; /******s/*_out.asp; http://dajialuntan/New******s/$0.dll
对以下 URL 的新请求:
http://topsage/******s/data_in.asp
http://topsage/******s/data_out.asp
将分别自动重定向至以下 URL:
http://topsage/New******s/data.dll
http://dajialuntan/New******s/data.dll
!
不允许重定向。
如果当父目录配置为重定向时要使文件或子目录不被重定向,那么可以使用该变量。
如果映射到以下网站的虚拟目录:
http://topsage/******s
配置为重定向到以下网站之外的位置:
http://topsage/******s/Commerce/Accounts
则必须免除重定向,以编程方式将被免除文件夹的重定向字符串设置为:
*;!
例如,要将所有对 /******s/Filename.stm 的请求重定向到名为 Default.stm 的文件,并将所有对 /******s/Filename.htm 的请求重定向到 Default.htm 文件,请对 /******s 虚拟目录使用以下重定向请求:
*;Filename.stm;/Default.stm/Filename.htm;/Default.htm
使用重定向标志
以下标志用于扩充 URL 或通配符格式的重定向字符串。允许多个标志。标志以编程方式附加到 HttpRedirect 中的重定向字符串中,或通过选中“IIS 管理器”中的复选框进行配置。
标志 用户界面复选框 描述
EXACT_DESTINATION 上面输入的准确 URL
表示为 Destination 提供的值应被视作绝对目标位置。
CHILD_ONLY
该目录以下的目录
通知 IIS 应只发生一次重定向,因为目标位置为初始 URL 的子目录。此标志避免了循环。并且,仅当请求是重定向到初始 URL 的子文件夹或文件时,此标志才指示 IIS 重定向该请求。
PERMANENT
资源的永久重定向 表示永久重定向该资源。
TEMPORARY
清除“资源的永久重定向”复选框 表示暂时重定向该资源。
综述:实现网站的整体301跳转,设置 iis站点属性》主目录》重定向到URl 写入http://www.topsage.com$S$Q 并且选中 上面输入的准确URL和资源的永久重定向。即可使旧域名的网址参数完整传递到新的域名。
详解Win2003 IIS6.0 301重定向带参数的问题(转摘)的更多相关文章
- IIS 301 重定向 带参数链接
做QQ的单点登陆,身后后发现,填写的是www.51laugh.cn,修改生效需要3天. 直接把根域做301调整,是目前的最佳解决方案. 1.建立一个新的站点,目录指定到任何一个空文件夹就好了.主机头绑 ...
- HTTP详解(3)-http1.0 和http1.1 区别
HTTP详解(3)-http1.0 和http1.1 区别 分类: 网络知识2013-03-17 16:51 1685人阅读 评论(0) 收藏 举报 目录(?)[+] 翻了下HTTP1.1的协 ...
- iOS 后台持续定位详解(支持ISO9.0以上)
iOS 后台持续定位详解(支持ISO9.0以上) #import <CoreLocation/CoreLocation.h>并实现CLLocationManagerDelegate 代理, ...
- Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)
[Android布局学习系列] 1.Android 布局学习之——Layout(布局)详解一 2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数) 3.And ...
- Java集合详解6:这次,从头到尾带你解读Java中的红黑树
<Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...
- elastic-job详解(五):自定义任务参数
在elastic-job详解(三):Job的手动触发功能一文中讲到了如何手动触发一个Job,但是我们手动触发的时候常常需要输入一些参数.举个栗子:我们有个日统计报表,每天凌晨统计一次,统计上一天的数据 ...
- 【laravel5.4】重定向带参数
1. 2.重定向回上一页面 3.返回上一页面带参数
- ModelAndView重定向带参数解决方法
业务场景:SpringMVC项目使用ModelAndView进行重定向跳转到另外一个action时,需要在url后面带上参数 如果是带参数带一个页面,直接用modelAndView.addObject ...
- HTTP协议详解及http1.0与http1.1http2.0的区别
HTTP协议介绍 http(超文本传输协议)是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.特点: (1)支持客户/服务器模式. HTTP是一个客户端和服务器端请 ...
随机推荐
- iOS开发60分钟入门
原文:https://github.com/qinjx/30min_guides/blob/master/ios.md 本文面向已有其它语言(如Java,C,PHP,Javascript)编程经验的i ...
- C++库研究笔记——操作符重载实现类型转换&这样做的意义
目标: 已知这个接口: std::vector<double> add_vec(double *d1, double *d2) { ..... return result; } 我们自定义 ...
- 用Rufus来制作Windows10的U盘安装盘
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用Rufus来制作Windows10的U盘安装盘.
- spark结合 Openfire服务器,发送聊天消息
1.下载OpenFire服务器,进行安装,参考http://www.cnblogs.com/hoojo/archive/2012/05/17/2506769.html 2.程序运行客户端:下载客户端代 ...
- HttpRequest
#ifndef __HTTP_REQUEST_H__ #define __HTTP_REQUEST_H__ #include "cocos2d.h" #include " ...
- 开始使用版本控制,局域网搭个SVN
话说以前自己做的一些小项目,经常出现忘记保存.突然断电等令人抓狂的事情.后来想到的办法是备份,这备份又有一个进化的过程,最先是建一个文件夹,隔一段时间压缩一下放进去,但是这个命名实在是麻烦,后来傻乎乎 ...
- Codeforces Round #330 (Div. 1) C. Edo and Magnets 暴力
C. Edo and Magnets Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/594/pr ...
- cardsui-for-android
https://github.com/Androguide/cardsui-for-android cardsui-for-android-master.zip
- java中接口的定义与实现
1.定义接口 使用interface来定义一个接口.接口定义同类的定义类似,也是分为接口的声明和接口体,当中接口体由常量定义和方法定义两部分组成.定义接口的基本格式例如以下: [修饰符] in ...
- 如何本地化 Windows Phone 应用标题
如何本地化 Windows Phone 应用标题 http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/ff967550(v=vs. ...