在 httpd 中将一个域名转发到另一个域名

虚拟主机世界近期更换了域名,新域名为 www.wbhw.com, 更加简短好记。这时需要将原来的域名 webhosting-world.com,
以及论坛所在地址 webhosting-world.com/forums/ 定向到新的域名,以便用户可以找到,并且使原来的论坛 URL
继续有效而不出现 404 未找到,比如原来的 http://www.
webhosting-world.com/forums/-f60.html, 让它在新的域名下继续有效,点击后转发到
http://bbs.wbhw.com/-f60.html, 这就需要用 apache 的 Mod_rewrite 功能来实现。



在< virtualhost> 中添加下面的重定向规则:



RewriteEngine On

# Redirect webhosting-world.com/forums to bbs.wbhw.com

RewriteCond %{REQUEST_URI} ^/forums/

RewriteRule /forums/(.*) http://bbs.wbhw.com/$1 [R=permanent,L]



# Redirect webhosting-world.com to wbhw.com

RewriteCond %{REQUEST_URI} !^/forums/

RewriteRule /(.*) http://www.wbhw.com/$1 [R=permanent,L]



添加了上面的规则以后, 里的全部内容如下:

< virtualhost *:80>

ServerAlias webhosting-world.com

ServerAdmin admin@webhosting-world.com

DocumentRoot /path/to/webhosting-world/root

ServerName www.webhosting-world.com



RewriteEngine On

# Redirect webhosting-world.com/forums to bbs.wbhw.com

RewriteCond %{REQUEST_URI} ^/forums/

RewriteRule /forums/(.*) http://bbs.wbhw.com/$1 [R=permanent,L]



# Redirect webhosting-world.com to wbhw.com

RewriteCond %{REQUEST_URI} !^/forums/

RewriteRule /(.*) http://www.wbhw.com/$1 [R=permanent,L]

< /virtualhost>







URL重定向例子一:

1.http://www.zzz.com/xxx.php-> http://www.zzz.com/xxx/

2.http://yyy.zzz.com-> http://www.zzz.com/user.php?username=yyy 的功能



RewriteEngine   On

RewriteCond   %{HTTP_HOST}   ^www.zzz.com

RewriteCond   %{REQUEST_URI}   !^user\.php$

RewriteCond   %{REQUEST_URI}   \.php$

RewriteRule   (.*)\.php$   http://www.zzz.com/$1/   [R]



RewriteCond   %{HTTP_HOST}   !^www.zzz.com

RewriteRule   ^(.+)   %{HTTP_HOST}   [C]

RewriteRule   ^([^\.]+)\.zzz\.com   http://www.zzz.com/user.php?username=$1



例子二:

/type.php?typeid=* --> /type*.html

/type.php?typeid=*&page=* --> /type*page*.html



RewriteRule ^/type([0-9]+).html$ /type.php?typeid=$1   [PT]

RewriteRule ^/type([0-9]+)page([0-9]+).html$ /type.php?typeid=$1&page=$2   [PT]

rewrite例子集合的更多相关文章

  1. nginx rewrite重写规则集合

    本文根据网络搜索整理,不是原创 一.正则表达式匹配,其中: ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~和!~* 分别为区分大小写不匹配及不区分大小写不匹配 . 匹配除换行符以外的任意字符 \ ...

  2. Shell脚本例子集合

    # vi xx.sh 退出并保存 # chmod +x xx.sh # ./xx.sh -2. 调试脚本的方法 # bash -x xx.sh 就可以调试了 . -1. 配置 secureCRT 的设 ...

  3. Apache之Rewrite和RewriteRule规则梳理以及http强转https的配置总结

    一. 简单实例介绍一般来说,apache配置好http和https后,如果想要做http强转到https,需要设置url重定向规则,大致需要下面几个步骤即可完成配置: 1)在httpd.conf文件里 ...

  4. Apache Rewrite(大小写)

    1.Rewrite规则简介: Rewirte 主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基于服务器级的(httpd.conf)和目录级的 (.htaccess)两种方式.如果 ...

  5. Apache Rewrite规则详解[转]

    1.Rewrite规则简介:Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基于服务器级的(httpd.conf)和目录级的(.htaccess)两种方式.如果要想用 ...

  6. apache Rewrite配置(转)

    1.Rewrite规则简介: Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基于服务器级的(httpd.conf)和目录级的 (.htaccess)两种方式.如果要 ...

  7. Apache Rewrite 规则详解

    在开篇之前: 我想说这篇文章其实是我刚刚接触Rewrite的时候学习的文档,应属转载,但是在这里我不想写明原地址,原因是文章中大多数给出的配置命令经实验都是错误的.需要原文的可以在谷歌上搜索一下&qu ...

  8. Apache Rewrite 规则详解知识大全

    Rewrite是一种服务器的重写脉冲技术,它可以使得服务器可以支持 URL 重写,是一种最新流行的服务器技术.它还可以实现限制特定IP访问网站的功能. 1.Rewrite标志 R[=code](for ...

  9. Apache Rewrite实现URL的跳转和域名跳转

    Apache Rewrite实现URL的跳转和域名跳转   Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基 于服务器级的(httpd.conf)和目录级的 (.h ...

随机推荐

  1. java关键字“static”

    Java中static使用方法 1.static静态变量 静态变量:每个类只有一个,所有实例共享: 实例变量:每个实例只有一个: package test2; import java.lang.Str ...

  2. 004、Java的多行注释

    代码如下: package TIANPAN; public class TestDemo { public static void main(String args[]) { /* * 我是多行注释 ...

  3. Educational Codeforces Round 64 选做

    感觉这场比赛题目质量挺高(A 全场最佳),难度也不小.虽然 unr 后就懒得打了. A. Inscribed Figures 题意 给你若干个图形,每个图形为三角形.圆形或正方形,第 \(i\) 个图 ...

  4. 安装phpmyadmin数据可视化

    1.下载压缩包,并且解压 cd /usr/local/src wget https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-a ...

  5. 基于Ambari的WebUI实现服务缩容

    基于Ambari的WebUI实现服务缩容 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.实现服务的扩容 1>.进入到主机的管理界面 2>.查看主机的信息概览 3&g ...

  6. S7-300定时器使用总结

    以后 规定我写博客 标题 全部采用 黄色第 加粗的黑色字体. S7-300 一共5种定时器 5种定时器线圈 S7-300的SIMATIC定时器的个数为(128~2028个)与CPU的型号有关, 定时器 ...

  7. 文件上传报错java.io.FileNotFoundException拒绝访问

    局部代码如下: File tempFile = new File("G:/tempfileDir"+"/"+fileName); if(!tempFile.ex ...

  8. jQuery获取display为none的隐藏元素的宽度和高度的解决方案

    1.利用给元素添加行内样式:visibility:hidden;display:block 2.让隐藏元素变成有物理尺寸存在,但不可见,获取元素宽高 3.再给它还原成display为none,去除vi ...

  9. P 1020 月饼

    转跳点:

  10. 【Android】家庭记账本手机版开发报告五

    一.说在前面   昨天  1.添加菜单(查询.清除所有等)2.使用滑动删除   今天 1.创建登入和注册界面 2.向数据库添加一张用户表   问题 做完后在登入时有bug(未解决) 二.界面的搭建 1 ...