IIS下301跳转方法:ISAPI_Rewrite伪静态重写+PHP301
来源:互联网 发布:19s管理淘宝 编辑:程序博客网 时间:2024/06/04 08:46
今天把网站域名更为二级域名,准备把原来伪静态的页面301重定向到新的域名。
之前使用ISAPI_Rewrite 1.3做的伪静态:
[ISAPI_Rewrite]CacheClockRate 3600RepeatLimit 32RewriteRule ^/([\d]+).html\?(.*) /view.php\?id=$1
测试一
在httpd.ini里新增重定向规则:
RewriteCond Host: ^xiaohuawanpian\.com$RewriteRule (.*) http\://android\.xiaohuawanpian\.com$1 [I,R]
为了保险起见,还是重启下IIS,用站长工具的HTTP状态查询发现:返回的http状态码是302而不是预期的301。后来查询下ISAPI_Rewrite帮助文档,ISAPI_Rewrite 1.*的只能做302重定向,做不到301重定向,果断升级到ISAPI_Rewrite 3。
测试二
升级到ISAPI_Rewrite 3后,把httpd.ini改名为httpd.conf,并修改重定向规则,因为和1.*的写法有些不一样:
RewriteCond %{HTTP:Host} ^xiaohuawanpian\.com$RewriteRule (.*) http\://android\.xiaohuawanpian\.com$1 [NC,R=301]RewriteCond Host: ^android\.xiaohuawanpian\.com$RewriteRule ^/([\d]+).html\?(.*) /view.php\?id=$1
再次测试发现,这种做法http的返回码是301了,但Location和预期的不一样:
如http://xiaohuawanpian.com/100.html
返回的是:
Location:http://android.xiaohuawanpian.com/view.php?id=100
而不是预期的:
Location:http://android.xiaohuawanpian.com/100.html
在这上面折腾了好一会,都没能找到好的方法,最后只能采用在PHP代码里进行301重定向
测试三
新建一个专门用于做301重定向的php文件——301.php:
<?php$go=$_GET['go'];header("HTTP/1.1 301 Moved Permanently");header('location:http://android.xiaohuawanpian.com'.$go);exit; ?>
然后修改httpd.ini,把原来的url访问都经过301.php调整:
RewriteCond Host: ^www\.xiaohuawanpian\.com$RewriteRule (.*) /301.php\?go=$1 [L]RewriteCond Host: ^xiaohuawanpian\.com$RewriteRule (.*) /301.php\?go=$1 [L]
再做一些测试,这种方式完美符合需求:
1、把原域名都301重定向到新的域名
2、除了域名,URL地址的path都保留原来的形式
这时候可以到百度的站长平台提交“网站改版”了。
阅读全文
0 0
- IIS下301跳转方法:ISAPI_Rewrite伪静态重写+PHP301
- IIS下万能301跳转方法:URL伪静态重写+PHP301
- IIS伪静态ISAPI_Rewrite
- IIS isapi_rewrite 重写
- ISAPI_Rewrite实现Asp伪静态及URL重写
- ISAPI_Rewrite伪静态中出现中文参数的处理方法
- ISAPI_Rewrite伪静态中出现中文参数的处理方法
- php301跳转
- php301跳转
- ISAPI_Rewrite设置,wordpress伪静态
- nginx下伪静态重写
- IIS7下伪静态(URL重写)的实现方法
- IIS 拟静态 ISAPI_Rewrite配置
- IIS下伪静态html(URL Rewrite)的设置方法
- 伪静态在iis下的规则和设置方法
- asp.net下实现URL重写伪静态之iis设置
- [ISAPI_Rewrite] httpd.ini伪静态实现不带www域名自动跳转到带www域名
- dedecms伪静态重写规则,和伪静态设置方法
- Intellij IDEA 快捷键
- hibernate笔记-013-多对多双向映射
- Thinking in java-20 Java 初始化
- 什么是Ajax? 详解原生js ajax
- CUDA小记(2)运行第一个CUDA程序
- IIS下301跳转方法:ISAPI_Rewrite伪静态重写+PHP301
- xpath解析xml文档
- 归并(合并)排序
- 乘机最大子序列
- redhat下配置非官方yum源的方法
- 十、Android XML解析
- 数据结构:B-树
- java数组知识
- Java实现-恢复旋转排序数组