Rewrite重写

简介:

Rewrite重写作用

1) 域名跳转,web服务器有多个域名时,将次域名重定向至主域名,用到重写模块rewrite_module

    例如:www.360buy.com,跳转到www.jd.com


2) 文件跳转,和域名相比,是透明的,隐藏实际目录

    例如:访问192.168.1.1/test,实际访问的是其他目录(如主目录下其他目录test1或者其他虚拟主机网站目录)


一、配置域名301跳转

1. 编辑虚拟主机配置文件/usr/local/apache2/conf/extra/httpd-vhosts.conf

   <IfModule mod_rewrite.c>

     RewriteEngine on                                                          

     # 开启 RewriteEngine引擎


     RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR]    

     RewriteCond %{HTTP_HOST} ^www.bbb.com$

     # 重写条件,如果匹配到www.aaa.com,则赋值给变量HTTP_HOST,匹配其他不会赋值,[OR]表示或的关系

     

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

     # 重写规则,.*表示上面变量所有内容,301永久跳转,L结束

  </IfModule>


    注:

       上面几行(2.4版本中),也可以单独写进.htaccess文件中,条件:

        1).htaccess文件必须在aaa、bbb网站目录下

        2)浏览器访问的内容,必须定义Drectory权限

        3)FollowSymlinks 表示其该目录访问其他目录

        4)开启AllowOverride使.htaccess文件生效

  

  .htaccess文件内容:

        RewriteEngine on

        RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR]

        RewriteCond %{HTTP_HOST} ^www.bbb.com$

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

  

   配置文件:  

       <Directory "/data/www">  

           Options Indexes FollowSymlinks

           AllowOverride All

           Allow from granted

       </Directory>



二、配置文件跳转

        说明:同样道理,配置如下

      1)定义Drectory权限

      2)开启AllowOverride

      3)目录下创建.htaccess文件

      4)在/data/www下创建index_test.html文件


       .htaccess文件内容:

       RewriteEngine on

       RewriteRule abc index_test.html

        

       配置文件:   

      <Directory "/data/www">  

           Options Indexes FollowSymlinks

           AllowOverride All

           Allow from granted

       </Directory>


        在浏览器输入ip/abc,即可跳转

  

  扩展:

      如一个不道德的人在他自己的网址A做一个302重定向到你的网址B,出于某种原因, Google搜索结果所显示的仍然是网址A,但是所用的网页内容却是你的网址B上的内容,这种情况就叫做网址URL劫持










本文转自 huangzp168 51CTO博客,原文链接:http://blog.51cto.com/huangzp/1906912,如需转载请自行联系原作者
相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
Java 应用服务中间件 PHP
Nginx中的location匹配和rewrite重写跳转
1、常用的Nginx正则表达式 2、location 3、rewrite 4、rewrite实例
1413 0
Nginx中的location匹配和rewrite重写跳转
|
安全 搜索推荐 应用服务中间件
Nginx的rewrite地址重写
Nginx的rewrite地址重写
174 0
Nginx的rewrite地址重写
|
应用服务中间件 PHP nginx
Nginx重写功能(rewrite与location)(二)
Nginx重写功能(rewrite与location)(二)
344 0
|
Java 应用服务中间件 PHP
Nginx重写功能(rewrite与location)(一)
Nginx重写功能(rewrite与location)(一)
239 0
|
缓存 搜索推荐 应用服务中间件
Nginx rewrite重写详解
Nginx rewrite地址重写 1.安装谷歌http status插件 做rewrite地址重新必须安装http status插件才能看到效果 1.从软件包中找到谷歌插件-http status.zip文件 2.打开谷歌浏览器点击设置—扩展程序—开发者模式
370 0
Nginx rewrite重写详解
|
Web App开发 JavaScript 应用服务中间件