使用ISAPI_Rewrite做实用的重定向

简介:

.htaccess文件的内容如下:

RewriteCond %{HTTP_HOST} ask.xxoo.com

RewriteRule ^(index.html)?$ /ask/

RewriteRule ^(.*)list-([0-9]+)-([a-z]+)\.html$ $1/ask/list.php?catid=$2&action=$3

RewriteRule ^(.*)show-([0-9]+)\.html$ $1/ask/show.php?id=$2


分析代码:

RewriteCond 后面的 %{HTTP_HOST} 是域名 

RewriteCond %{HTTP_HOST} space.xxoo.com 表示地址栏中的域名是否等于space.xxoo.com这里也可以使用正则 如:RewriteCond %{HTTP_HOST} space([1-9]).xxoo.com 这匹配的url包含了space1.xxoo.com  space2.xxoo.com space2.xxoo.com  .......space9.xxoo.com 这9个域名


RewriteRule ^(index.html)?$ /ask/   

匹配的是网站但域名ask.xxoo.com或ask.xxoo.com/index.html这两个地址: 重定向的是ask.xxoo.com/ask


RewriteRule ^(.*)list-([0-9]+)-([a-z]+)\.html$ $1/ask/list.php?catid=$2&action=$3

匹配地址包含

ask.xxoo.com/list-3-all.html 重定向的是ask.xxoo.com/ask/list.php?catid=3&action=all

ask.xxoo.com/list-45-high.html 重定向的是ask.xxoo.com/ask/list.php?catid=45&action=hight


RewriteRule ^(.*)show-([0-9]+)\.html$ $1/ask/show.php?id=$2

匹配地址包含

ask.xxoo.com/show-3.html 重定向的是ask.xxoo.com/ask/show.php?id=3

ask.xxoo.com/show-21.html 重定向的是ask.xxoo.com/ask/show.php?id=21

。。。。。


自己现在服务器在用的 ISAPI_Rewrite 3.x.x

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteRule ^index.html$ / [NC,L,R=301,O] 

</IfModule>

匹配的意义:把根目录下面的index.html 默认跳转到不带index.html 防止index.html分散权重


说明:O表示对URL进行标准化L表示Last Rule,最后一条规则,也就是后面的重写规则对他不起作用,防止被其他匹配的规则再次重写。这里的路径可以是相对路径也可以是绝对路径。

说明:[I,RP]:I表示忽略大小写,RP表示使用301转向,以上都是整个域名重定向。



.htaccess的301重定向代码


把不带www的域名301到带www的域名


RewriteEngine On

RewriteCond %{http_host} ^example.com$ [NC]

RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]


“RewriteEngine On”,开启 Rewrite 规则开关;

“RewriteCond”指重写的条件。后面的字符串通过正则表达式进行匹配,匹配字符串以 ^ 开头并以 $ 结尾。此处 %{http_host} 获取当前主机名称。条件为“当主机名称为example.com”时执行下列的重写规则。其中“[NC]”指不区分大小写;

“RewriteRule”,定义一条重写规则。此处含义:跳转到“http://www.example.com/”接上访问请求的网址中 example.com 后面的部分。[R=301] 指重写为 301 重定向/跳转([R] 单指跳转,意义等同 [R=302]),[L] 指最后一条匹配规则。


把老域名301到新域名


更换域名时,老域名的权重不能浪费了,把老域名的顶级域名和带www的域名都要301到新域名,代码如下


RewriteEngine On

RewriteCond %{http_host} ^(www.)?old.com$ [NC,OR]

RewriteCond %{http_host} ^new.com$ [NC]

RewriteRule ^(.*)$ http://www.new.com/$1 [R=301,L]


现在无论你访问old.com,www.old.com,new.com都会301到www.new.com 够完美了吧!而且所有的内页也会跟着301,接下来至少等待2个月,期间不要删除原域名,静等权重完全转移!

需要注意的是,wordpress默认情况下不支持该条命令,因为wordpress的网址本身就是伪静态的,要想实现这个功能,必须先把wordpress的内页生成html文件。


==重要提醒==:IIS 6中的.htaccess 301定向


以下规则适用于 IIS 6中的 ISAPI_Rewrite 2.x 3.x 中的httpd.ini或.htaccess

注意这儿的.htaccess不是apache中的.htaccess 规则略有不同。


RewriteCond %{HTTP:Host} ^sjyhome.com$

RewriteRule (.*) http://www.sjyhome.com/$1 [NC,R=301]




本文转自 gutaotao1989 51CTO博客,原文链接:http://blog.51cto.com/taoyouth/1788084
相关文章
|
JavaScript 前端开发 索引
用Three.js搞个炫酷3D地球
地球人怎么可以不会画地球!从canvas画地球贴图开始,用Three.js手把手教你实现一个炫酷的3D地球!
用Three.js搞个炫酷3D地球
|
安全 网络安全 数据安全/隐私保护
远程桌面连接出现了内部错误怎么解决?
远程桌面连接出现了内部错误怎么解决?
|
PHP
使用sdk验签方法详解
说明:正常接口使用 AlipaySignature.rsaCheckV1,sign_type不参与签名     特殊说明:AlipaySignature.rsaCheckV2方法生活号异步通知需要使用,会保留sign_type参数参与验签。
1755 12
|
Web App开发 人工智能 API
工具推荐:一款强大的AI翻译插件
工具推荐:一款强大的AI翻译插件
1554 0
工具推荐:一款强大的AI翻译插件
|
8月前
|
机器学习/深度学习 人工智能 JSON
Resume Matcher:增加面试机会!开源AI简历优化工具,一键解析简历和职位描述并优化
Resume Matcher 是一款开源AI简历优化工具,通过解析简历和职位描述,提取关键词并计算文本相似性,帮助求职者优化简历内容,提升通过自动化筛选系统(ATS)的概率,增加面试机会。
931 18
Resume Matcher:增加面试机会!开源AI简历优化工具,一键解析简历和职位描述并优化
|
11月前
|
搜索推荐 物联网 PyTorch
Qwen2.5-7B-Instruct Lora 微调
本教程介绍如何基于Transformers和PEFT框架对Qwen2.5-7B-Instruct模型进行LoRA微调。
11645 34
Qwen2.5-7B-Instruct Lora 微调
|
人工智能 关系型数据库 双11
2024阿里云双11优惠活动开启,云服务器79元一年起,能领代金券和上云补贴金
2024年阿里云双11优惠活动开启,云服务器低至79元一年起,涵盖云数据库、对象存储OSS、无影云电脑等产品,提供代金券、企业算力补贴及上云扶持金等多项优惠,助您轻松上云。
|
12月前
Cursor + qwen2.5-coder 32b 的配置方式
安装Cursor后,进入设置修改OpenAI基础URL为阿里云的DashScope接口,并添加Qwen2.5-Coder 32B模型。需先访问阿里云百灵控制台申请免费Key。配置完成后,即可使用该模型进行开发和测试。
8393 2
|
监控 安全 Windows
阿里云国际版Windows服务器磁盘空间不足该怎么办?
阿里云国际版Windows服务器磁盘空间不足该怎么办?