301重定向IIS设置,及伪静态后 301重定向出错案例分享

301重定向,网络上的知识已经很多了,我在这第一次实践过程中,出现了一个算是低级的错误,但也比较典型,也许其它新手也会碰到,分享一下:

一、301重定向实施:

我们哪里体检网(www.nalitj.com原来的域名是vokang.com,明显差很多,换了域名之后,要做的第一件事自然就是301重定向。

提醒一点:即使你不是换域名,也应该考虑把“nalitj.com”301重定向至“www.nalitj.com”。

每个人的环境不一样,因为我们是用云服务器,所以我们实施301重定向相对简单,只要在IIS里直接设置就行了。

但在实施之前,一定要记住:在IIS中为各域名建立独立的站点,做好相应绑定。

比如,你要把“nalitj.com”301重定向到”www.nalitj.com”,就要分别建两个站点,并独立绑定,然后,再在“nalitj.com”的站点上做重定向设置。

下面,是实施步骤

第一步:

选择“HTTP重定向”

快照1

第二步:

1、勾选“将请求重定向到此目标”;2、输入目标域名;3、选择“301永久”即可。如下图:

快照2

第三步:

自然是验证一下是否设置成功:

1、可以通过下面的工具,输入301重定向前的原域名或网址,看下返回的状态码是否是301;http://tool.chinaz.com/pagestatus/

2、输入301重定向前的原域名或网址,设置正确的话,应转到新域名下相应的网页。(我的问题,就出在这里)

二、伪静态后301重定向出错:

问题:

我在这里碰到了问题,我们伪静态后的网址格式是类似这样的,某体检套餐:http://www.nalitj.com/pkg-detail/ok327a455b6ed8c;

结果301后,访问原地址http://www.vokang.com/pkg-detail/ok327a455b6ed8c;

却全部变成了原动态网址,如“/pkg/detail.aspx?xxxxxxx”,而且参数全乱,虽然页面返回的状态是301,正确的,但内容已经完全错误,或者是空内容,甚至404。

原因:

经过排查,原来,我在建新域名站点时,直接复制了原来的目录。

原站点的内容仍完全保留,而我们伪静态用的是Global方案,这个原站点的Global.aspx文件在作祟;

估计是,访问时,网址已经先被原站点的Global.aspx处理,后再重定向到新站点,又被新站点的Global.aspx处理了一次,故出错。

解决:

解决很简单了:

把原站点的Global.aspx,或者清空文件,只留个web.cnfig,搞定。

转载于:https://www.cnblogs.com/easyshy/archive/2012/09/14/2685450.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 通讯录设计(一)

#include<iostream> #include<string> using namespace std;//- 封装函数显示该界面如void showMenu() // - 在main函数中调用封装好的函数//菜单界面函数功能 void showMenu() {cout << "***********************" << endl;cout << &…

文献管理软件概述

一、时代背景 文献管理软件的诞生也是社会需求的产物。很多整天与文献打交道的人被文献郁闷了&#xff0c;然后就有了专门的文献管理软件。整天与文献打交道最多的无非是科研工作者&#xff0c;还有一类图书馆员以及文献发行者&#xff0c;不过后一类人群是少数。此处主要讨论科…

C++ 通讯录设计(二)

功能描述: 实现添加联系人功能&#xff0c;联系人上限为1000人&#xff0c;联系人信息包括(姓名、性别、年龄、联系电话、家庭住址) 添加联系人实现步骤: ●设计联系人结构体 ●设计通讯录结构体 ●main函数中创建通讯录 ●封装添加联系人函数 ●测试添加联系人功能 1.1&#…

C++ 通讯录设计(三)

显示联系人 功能描述:显示通讯录中已有的联系人信息 显示联系人实现步骤: . ●封装显示联系人函数 ●测试显示联系人功能 1.1封装显示联系人函数 思路:判断如果当前通讯录中没有人员,就提示记录为空&#xff0c;人数大于0,显示通讯录中信息 //显示联系人 void showPerson(Addr…

SWT多线程注意事项

要在后台线程里对前台界面组件进行访问的解决办法&#xff1a;使用Display对象&#xff0c;Display对象主要负责管理事件循环和控制UI线程和其它线程之间的通信。 若要访问UI界面上的对象必须通过UI线程来访问&#xff0c;就是说在非UI线程中调用UI对象是不允许的&#xff0c;这…

C++ 通讯录设计(四)

1、删除联系人 功能描述:按照姓名进行删除指定联系人 删除联系人实现步骤: ●封装检测联系人是否存在 ●封装删除联系人函数 ●测试删除联系人功能 1.1封装检测联系人是否存在 设计思路: 删除联系人前&#xff0c;我们需要先判断用户输入的联系人是否存在&#xff0c;如果存在删…

cetos 中vsftpd从安装到配置完全教程

1 安装并启动服务 [rootedwin.org]#rpm –qa | grep vsftpd &#xff1b;查看是否安装vsftpd服务 [rootedwin.org]#yum install vsftpd &#xff1b;安装vsftpd服务 [rootedwin.org]/etc/init.d/vsftpd start ;启动服务 [rootedwin.org]#chkconfig vsftpd on ;让系统服务随着系…

C++ 通讯录设计(五)

1、查找联系人 功能描述:按照姓名查看指定联系人信恿 查找联系人实现步骤 ●封装查找联系人函数 ●测试查找指定联系人 1.1封装查找联系人函数 实现思路:判断用户指定的联系人是否存在&#xff0c;如果存在显示信息&#xff0c;不存在则提示查无此人。 查找联系人代码: //4、查…

linux基础应用和常用技巧

&#xff11;、处理特殊的文件名 假设Linux系统中有一个文件名叫“-aaa”&#xff0c;如果我们想对它进行操作&#xff0c;例如现在要删除它&#xff0c;如果我们按照一般的删除方法在命令行中输入rm -aaa命令&#xff0c;界面将会提示我们是无效选项&#xff08;invalid opti…

C++ 通讯录设计(六)

1、修改联系人 功能描述:按照姓名重新修改指定联系人 修改联系人实现步骤 ●封装修改联系人函数 ●测试修改联系人功能 1.1封装修改联系人函数 实现思路:查找用户输入的联系人&#xff0c;如果查找成功进行修改操作&#xff0c;查找失败提示查无此人 修改联系人代码: //5、修…

C++ 通讯录设计(七)

1、清空联系人 功能描述:清空通讯录中所有信息 清空联系人实现步骤 ●封装清空联系人函数 ●测试清空联系人 1.1封装清空联系人函数 实现思路:将通讯录所有联系人信息清除掉&#xff0c;只要将通讯录记录的联系人数量置为0,做逻辑清空即可。 清空联系人代码: //6、清空所有联…

c语言学习笔记十四

多目标文件的链接示例代码如下&#xff1a;test18.cchar stack[512];int top-1;void push(char c){stack[top]c;}char pop(){return stack[top--];}int is_empty(void){return top-1;}test19.c#include <stdio.h>int a,b1;int main(void){push(a);push(b);push(c);while(…

C++ 程序运行前内存分区模型

C核心编程 本阶段主要针对C面向对象编程技术做详细讲解,探讨C中的核心和精髓。 1、内存分区模型 C程序在执行时&#xff0c;将内存大方向划分为4个区域 ●代码区:存放函数体的二进制代码,由操作系统进行管理的 ●全局区:存放全局变量和静态变量以及常量 ●栈区:|由编译器自动分…

[Grooy]List, Map and Range习题

1.Given the list [14, 12, 13, 11], express how we would obtain the List with these elements in descending order. def list [14,12,13,11]print list.sort().reverse() // output: [14,13,12,11]如果使用Ruby也是类似的list [14,12,13,11]#output: [14,13,12,11]print…

C++ 程序运行后的内存模型

程序运行后 栈区: 由编译器自动分配释放,存放函数的参数值,局部变量等 注意事项:不要返回局部变量的地址&#xff0c;栈区开辟的数据由编译器自动释放 #include<iostream> #include<string> using namespace std;int* func() {int a 10; //局部变量放在栈区&am…

C++ 堆区内存分配

#include<iostream> #include<string> using namespace std;int* func(int b) { //形参也放在栈区int * pnew int(10);return p; }//2、在堆区利用new开辟数组 void test02() {//创建10整型数据的数组&#xff0c;在堆区int * arr new int[10]; //10代表数组有1…

tomcat日志,用户以及启动时的一些问题

1.启动tomcat时候抛错 严重: Servlet.service() for servlet jsp threw exception java.lang.NullPointerException at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22) at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52) at org.apache.jasper.serv…

C++ 函数的引用传递

#include<iostream> #include<string> using namespace std;//1、值传递 void mySwap01(int a, int b) {int temp a;a b;b temp;cout << "mySwap01 a" << a << endl;cout << "mySwap01 b" << b << end…

C++ 引用本质就是一个指针常量

#include<iostream> #include<string> using namespace std;//发现是引用&#xff0c;转换为int* const ref &a;void func(int& ref) {ref 100; // ref是引用&#xff0c;转换为*ref 100}int main() {int a 10;//自动转换为int* const ref &a; 指…

一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之用户管理(1)...

应用程序的基本框架已经搭建好了&#xff0c;现在要做的是完成一个个的功能模块。先从简单做起&#xff0c;完成用户管理模块&#xff0c;该模块主要功能是使用一个Grid显示用户信息&#xff0c;并使用RowEditing进行用户的编辑、添加操作。Grid的分页则在Grid顶部使用分页工具…