Apache Rewrite url重定向功能的简单配置

1.Apache Rewrite的主要功能
就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等

2.Apache Rewrite的配置
Apache下的Rewrite配置主要有两种,一种是针对整个apache服务器的配置,此种配置的Rewrite规则是直接在httpd.conf下书写。配置步骤如下:
(1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"号;
(2)然后再在httpd.conf中书写如下规则:
RewriteEngine on
#当访问任何以t_开头,以.html结尾的文件时,将$1用与(.*)匹配的字符替换后,访问相应的test.php页面
RewriteRule ^/t_(.*).html$ /test.php?id=$1

另一种是针对apache服务器下的某一目录的配置,此种配置的Rewrite规则需在此目录下建立一个.htaccess文件来书写。配置步骤如下:
(1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"号;
(2)修改httpd.conf文件中的"AllowOverride None"为"AllowOverride all",同时最好将Options也置为"all",否则可能会出问题。
(3)在目录中建立.htaccess文件,并用记事本打开,书写如下规则:
RewriteEngine on
RewriteRule ^/t_(.*).html$ /test.php?id=$1

3.Apache Rewrite规则的书写
RewriteEngine on
RewriteRule ^/test([0-9]*).html$ /test.php?id=$1
RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]

RewriteEngine on
#当我们访问的地址不是以www.163.com开头的,那么执行下一条规则
RewriteCond %{HTTP_HOST} !^www.163.com [NC]
RewriteRule ^/(.*) http://www.163.com/ [L]

4.Apache Rewrite规则修正符
1) R 强制外部重定向
2) F 禁用URL,返回403HTTP状态码。
3) G 强制URL为GONE,返回410HTTP状态码。
4) P 强制使用代理转发。
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N 重新从第一条规则开始运行重写过程。
7) C 与下一条规则关联

如果规则匹配则正常处理,以下修正符无效

8) T=MIME-type(force MIME type) 强制MIME类型
9) NS 只用于不是内部子请求
10) NC 不区分大小写
11) QSA 追加请求字符串
12) NE 不在输出转义特殊字符 \%3d$1 等价于 =$1

(0)

相关推荐

  • Apache mod_rewrite实现HTTP和HTTPS重定向跳转

    当你的站点使用了HTTPS之后,你可能会想把所有的HTTP请求(即端口80的请求),全部都重定向至HTTPS(即端口443).这时候你可以用以下的方式来做到:(Apache mod_rewrite) <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://jb51.net/$1 [R=301,L] </IfModule&

  • apache 开启重定向 rewrite的实现方法

     apache 开启重定向 rewrite的实现方法 1.开启重定向模块 $ ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enable/rewrite.load 2.修改配置文件(某些php框架需要) $ vim /etc/apache2/sites-available/000-default.conf 修改document dir 为所需要的路径 $vim vim /etc/apache2/apache2.c

  • Apache Rewrite url重定向功能的简单配置

    1.Apache Rewrite的主要功能 就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范.平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等 2.Apache Rewrite的配置 Apache下的Rewrite配置主要有两种,一种是针对整个apache服务器的配置,此种配置的Rewrite规则是直接在httpd.conf下书写.配置步骤如下: (1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewri

  • linux下apache开启url重写的方法(详细说明)

    Linux开启url重写的方法: 1.打开 apache 里httpd.conf(通常是在/etc/httpd/conf目录里) 2.找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的# 3.找到 AllowOverride None 改成 AllowOverride All , 有两个全部改掉 注:AllowOverride 的参数设置为ALL,表示整台服务器上都支持URL规则重写.Apache 服务器要读每个网站下目录下的 .

  • Apache Rewrite实现URL的301跳转和域名跳转

    如果要想用到rewrite模块,必须先安装或加载rewrite模块.方法有两种一种是编译apache的时候就直接安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块. 基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意

  • 详解Nginx中的Rewrite的重定向配置与实践

    一:理解地址重写 与 地址转发的含义. 地址重写与地址转发是两个不同的概念. 地址重写 是为了实现地址的标准化,比如我们可以在地址栏中中输入 www.baidu.com. 我们也可以输入 www.baidu.cn. 最后都会被重写到 www.baidu.com 上.浏览器的地址栏也会显示www.baidu.com. 地址转发:它是指在网络数据传输过程中数据分组到达路由器或桥接器后,该设备通过检查分组地址并将数据转发到最近的局域网的过程. 因此地址重写和地址转发有以下不同点: 1. 地址重写会改变

  • Nginx配置 location模块实现路由(反向代理、重定向)功能

    目录 前置文章: 匹配规则 proxy_pass 代理转发 root 与 index root 与 alias location 执行过程 rewrite 重定向 前置文章: Linux(CentOS7) 下 Nginx1.15.8 安装步骤 Nginx 的配置文件 nginx.conf 我们访问一个网址,服务器返回对应的资源.那么一个网址是如何对应一个资源的呢?用 Nginx 可以很好地帮我们实现路由功能,我们所有需要做的就是配置好 location 模块. 语法规则 location [=|

  • 利用Nginx实现URL重定向的简单方法

    目录 1. 概述 2. 使用 Nginx 实现 URL 的重定向 2.1 使用场景 2.2 单纯的重定向 2.3 依据原 URL 重定向 补充:Nginx根据url参数重定向 1.判断url路径 2. 判断url参数 总结 1. 概述 老话说的好:取乎上,得其中:取乎中,得其下.因此我们不妨把目标定的高一些,去努力,才能得到更好回报. 言归正传,今天我们来聊聊 使用 Nginx 实现 URL 的重定向. 2. 使用 Nginx 实现 URL 的重定向 2.1 使用场景 我们日常分享一个网站地址时

  • Apache rewrite重写规则的常见应用

    一.为什么需要用重写规则 ---- 网站的生命在于不断地进行更新和维护,根据业务发展的需求转移服务器进行维护.重新组织目录结构.变换URL甚至改变到新的域名等情况是经常发生的.为了让客户不会因此受到任何影响,最好的方法就是使用Apache Rewrite Rule(重写规则). 二.重写规则的作用范围 ---- 1.使用在Apache主配置文件httpd.conf中. ---- 2.使用在httpd.conf里定义的配置中. ---- 3.使用在基本目录的跨越配置文件.htaccess中. 三.

  • ThinkPHP静态缓存简单配置和使用方法详解

    本文实例讲述了ThinkPHP静态缓存简单配置和使用方法.分享给大家供大家参考,具体如下: 根据ThinkPHP官方手册:ThinkPHP内置了静态缓存类,通过静态缓存规则定义来实现了可配置的静态缓存. 启用静态缓存: ThinkPHP官方手册写道 要使用静态缓存功能,需要开启HTML_CACHE_ON 参数,并且在项目配置目录下面增加静态缓存规则文件 htmls.php,两者缺一不可.否则静态缓存不会生效. 在配置文件Conf\config.php的array()中加上: 'HTML_CACH

  • IIS与APACHE实现HTTP重定向到HTTPS

    IIS7 从微软的官方网站下载HTTP重写模块,安装完毕之后重启IIS服务,之后打开IIS控制台,发现多了一个组件,双击"URL重写",在右边窗体中选择"添加规则",并添加一个空白规则,给规则自定义一个名字(名称自便),比如我这里叫"redirect to HTTPS",模式为:(.*),添加一个条件,条件输入为 {HTTPS},与模式匹配,模式为 ^OFF$,然后配置操作,操作类型为:重定向,重定向到URL为:https://{HTTP_HOS

  • 完美解决IIS和APACHE的301重定向(带参数)

    在5月份的时候,因为对一个网站改版,导致大量链接失效,正好5月底GOOGLE PR大更新,这个网站的PR直接从3降低到2,并且收录也急剧下滑,可以说网站的大幅度改版是导致本次PR降低的主要因素,后在GOOGLE的网站管理后台也验证了这个结论,于是赶紧使用JAVASCRIPT进行了404跳转定向,从实际的测试效果来看,GOOGLE对404跳转也是支持的,不会惩罚该网站的权值,可是根据IIS日志分析,感觉BAIDU spider对404的重定向似乎无动于衷,于是近日干脆对原失效的链接重新设置301重

随机推荐