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]

时间: 2024-08-09 10:31:34

httpd配置文件中重写函数Rewrite的相关文章

httpd配置文件中常用模块详解一

本文对http2.2常用的模块作了总结 注意:关闭selinux和iptables 永久关闭: Vim /etc/sysconfig/selinux 设置为disabled Yum install httpd-manual 安装httpd手册 ip/manual即可访问 全局配置: 主服务器段配置(或者虚拟主机配置,二者生效一个): 全局配置: Listen 80  //可以监听多个端口 KeepAlive //是否保持连接 #MPM工作模式配置:默认是prefork <IfModule pre

【转载】 C++多继承中重写不同基类中相同原型的虚函数

本篇随笔为转载,原文地址:C++多继承中重写不同基类中相同原型的虚函数. 在C++多继承体系当中,在派生类中可以重写不同基类中的虚函数.下面就是一个例子: class CBaseA { public: virtual void TestA(); }; class CBaseB { public: virtual void TestB(); }; class CDerived : public CBaseA, public CBaseB { public: virtual void TestA()

PHP中getenv函数

在PHP中getenv(参数)函数是一个用于获取环境变量的函数,根据提供不同的参数可以获取不同的环境变量,具体如下: “PHP_SELF” 当前正在执行脚本的文件名,与document root 相关.举例来说,在URL 地址为[url]http://example.com/test.php/foo.bar[/url] 的脚本中使用$_SERVER['PHP_SELF'] 将会得到/test.php/foo.bar 这个结果.__FILE__ 常量包含当前(例如包含)文件的绝对路径和文件名. 如

httpd配置文件详解(v2.2)

# # This is the main Apache server configuration file.  It contains the # configuration directives that give the server its instructions. # See <URL:http://httpd.apache.org/docs/2.2/> for detailed information. # In particular, see # <URL:http://h

Nginx URL重写(rewrite)配置及信息详解

Nginx URL重写(rewrite)配置及信息详解 URL重写有利于网站首选域的确定,对于同一资源页面多条路径的301重定向有助于URL权重的集中 Nginx URL重写(rewrite)介绍 和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向.Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的.默认参数编译nginx就会支持rewrite的模块,但是也必须要PCRE的支持 rewrite是实现URL重写的关

C++中的函数对象(一)

STL中的函数对象,大多数STL类属算法(以及某些容器类)可以以一个函数对象作为参数.引入函数对象的目的是为了使算法的功能富于变化,从而增强算法的通用性. 所谓函数对象,是指一段代码实体,它可以不带参数,也可以带有若干参数,其功能是获得一个值,或者改变操作的状态.在C++编程中,任何普通的函数都满足这个定义,而且,任何一个重载了运算符operator()的类的对象也都满足这一定义,称为函数对象. 普通函数 int multfun(int x, int y) { return x*y; } 或者下

JavaScript中valueOf函数与toString方法的使用

所有JS数据类型都拥有valueOf和toString这两个方法,null除外. JavaScript中valueOf函数方法是返回指定对象的原始值. 使用方法: object.valueOf( ). object是必选参数,是任意固有 JavaScrip对象. JavaScript 的 valueOf() 方法 valueOf() 方法可返回 Boolean 对象的原始值. 用法booleanObject.valueOf(),返回值为booleanObject 的原始布尔值.如果调用该方法的对

在JavaScript中重写jQuery对象的方法

jQuery是一个很好的类库,它给我们解决了很多的客户端编程,任何东西都不是万能的,当它不能满足我们的需求时我们需要对它进行重写,同时也不要影响其原有的功能或者修改其原有的功能:我现在的web应用程序大多数时候的数据交互都是通过Ajax来完成的,这样就可以将一些隐藏字段的数据保存在HTML标签的属性中,使HTML标签的代码量减少,如:ID,Timestamp等等,这些不需要用户输入但又不得不提交的字段,通过表单提交的做法是 <input name="ID" value="

httpd配置文件

MPM:多处理模块 worker,event(事件驱动模型,单线程响应多请求),prefork http://httpd.apache.org/docs/2.4/mpm.html DSO机制:动态共享对象,可使用LoadModule动态装载模块,无需重启服务 以CentOS 6.5为例http的配置文件,一般默认路径在/etc/httpd/conf/httpd.conf中 主要有三段配置 Section 1: Global Environment 全局配置及虚拟主机共享参数 Section 2: