zoukankan      html  css  js  c++  java
  • httpd配置文件中重写函数Rewrite

    【RewriteCond%{HTTP_HOST}^(www.)?xxx.com$】

    这是重写条件,前面%{HTTP_HOST}表示当前访问的网址,只是指前缀部分,格式是www.xxx.com不包括“http://”和“/”,^表示字符串开始,$表示字符串结尾,.表示转义的.,如果不转义也行,推荐转义,防止有些服务器不支持,?表示前面括号www.出现0次或1次,这句规则的意思就是如果访问的网址是xxx.com或者www.xxx.com就执行以下的语句,不符合就跳过。

    配置域名跳转

    <IfModule mod_rewrite.c>
            RewriteEngine on
            RewriteCond %{HTTP_HOST} ^www.domain1.com$
            RewriteRule ^/(.*)$
    http://www.domain2.com/$1 [R=301,L]
        </IfModule>
    如果是多个域名,可以这样设置:
        <IfModule mod_rewrite.c>
            RewriteEngine on
            RewriteCond %{HTTP_HOST} ^www.domain.com [OR]
            RewriteCond %{HTTP_HOST} ^www.domain1.com$
            RewriteRule ^/(.*)$
    http://www.domain2.com/$1 [R=301,L]
        </IfModule>
    或者:    <IfModule mod_rewrite.c>
            RewriteEngine on
            RewriteCond %{HTTP_HOST} !^www.domain2.com$
            RewriteRule ^/(.*)$
    http://www.domain2.com/$1 [R=301,L]
        </IfModule>

    注意:^/(.*)$  其中 其中^表示正在表达式匹配,/ 是表示基目录,意思是从域名后开始匹配。而后面的$1==(.*)   $1用来表示前面基目录后面匹配的任意字符,有时不带上在重写的时候不带上这个/ 出错


    前面%{HTTP_HOST}表示当前访问的网址,只是指前缀部分
    %{REQUEST_URI}表示访问的相对地址,就是相对根目录的地址,就是域名/后面

    example :

    赛卡软件近期更换了域名,新域名为www.sicasoft.com, 更加简短好记。这时需要将原来的域名ss.kiya.cn, 以及论坛所在地址ss.kiya.cn/bbs/定向到新的域名,以便用户可以找到,并且使原来的论坛 URL 继续有效而不出现 404 未找到,比如原来的http://ss.kiya.cn/bbs/tread-60.html, 让它在新的域名下继续有效,点击后转发到http://bbs.sicasoft.com/tread-60.html,而其他网页,如原先的http://ss.kiya.cn/purchase不会到二级域名bbs.sicasoft.com/purchase上,而是到www.sicasoft.com/purchase
    按照这样的要求重定向规则应该这样写:

        RewriteEngine On
        RewriteCond %{REQUEST_URI} ^/bbs/
        RewriteRule ^bbs/(.*)
    http://bbs.sicasoft.com/$1 [R=permanent,L]
        RewriteCond %{REQUEST_URI} !^/bbs/
        RewriteRule ^(.*)
    http://www.sicasoft.com/$1 [R=permanent,L]

  • 相关阅读:
    hdu 2106 decimal system
    00-自测4. Have Fun with Numbers (20)
    07-图4. Saving James Bond
    hdu 2209 翻纸牌游戏
    hdu 1272 小希的迷宫
    1969 Pie
    怎样维护 SQLite
    Navicat使用亮点
    Navicat for MySQL 11 Mac安装教程
    Navicat for PostgreSQL 运算符有哪些类别
  • 原文地址:https://www.cnblogs.com/the-study-of-linux/p/5207156.html
Copyright © 2011-2022 走看看