apache rewrite(重定向)

2023-05-16

很多时候,由于项目变更的需要,我们会将一个网站的域名变更为另外一个域名,又或者是一个地址转变为另外一个地址。而在项目里进行跳转并不是一个明智的选择,这个时候我们就可以使用到apache的mod_rewrite模块。

mod_rewrite 提供了基于正则表达式规则动态修改传入的请求的 URL 的方法。 这允许你以自己喜欢的任意方法映射任意 URL 到你的内部 URL 结构。

当然启用它的第一步就是要加载相关的模块,你可以打开httpd.conf将mod_rewrite前的#号注释掉。

LoadModule rewritemodule modules/modrewrite.so

然后你需要重启apache服务器,这样rewrite模块就开启了。

这个模块可以在服务器上下文 (httpd.conf),虚拟主机上下文 ( 指令块),目录上下文 (.htaccess 文件和 指令块) 对完整的 URL (包含目录信息部分和查询字符串部分) 操作。

重写结果可以进行多种规则处理,如:内部的后续处理,外部请求重定向,甚至透过内部代理, 这取决于你为规则附加的标志。

而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

常用的rewrite规则实例

301重定向

将www.aaa.com 301 到 www.bbb.com

```

RewriteEngine on

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

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

```

伪静态

/info/info.php?infoid=100转换为/info/100.html个格式

```

RewriteEngine on

RewriteRule index.html index.php

RewriteRule (\d+).html$ info.php\?infoid=$1

```

内部重定向

通过 http://natserver/forum 来访问webserver上面提供的论坛服务,而forum目录在 /var/www/html 下

```

RewriteEngine on

RewriteBase /forum/

RewriteRule (.*) http://webserverip/$1 [P,L]

使得发送方有足够的信息来知道需要重传哪些包,而不需要重传哪些包。

往期回顾:apache多处理模块(MPM):https://blog.csdn.net/RJ0024/article/details/85328757

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

apache rewrite(重定向) 的相关文章

随机推荐

  • c语言链表及其基本操作

    链表及其基本操作 文章目录 链表及其基本操作 一 链表是什么 xff1f 二 链表是如何实现的1 创建链表2 输出链表 三 基本操作 xff08 增删改查插 xff09 1 查找结点2 删除结点3 插入结点4 清空结点 做为一名 新生蒟蒻来
  • 湖南大学第十六届程序设计竞赛

    湖南大学第十六届程序设计竞赛 https ac nowcoder com acm contest 18196 description D 遇到这种题 xff0c 其实可以去大胆点找规律 正解是对于排位的期望 xff0c 我们只需要在意排的位
  • VS2010中CString Format出错

    VS2010中 Format 用法 xff1a 我在项目中需要实现一个字符串的转化 xff0c 代码如下 xff1a CString mess int x y x 61 640 y 61 480 mess Format 34 当前为 xff
  • 数据库MySQL安装方法:官网下载安装、国内镜像源安装

    一 官网下载安装 xff08 MySQL Download MySQL Yum Repository xff09 下载rpm包 xff0c 上传到虚拟机上 xff08 rz命令 xff09 root 64 localhost ls 在官网下
  • 输出函数print的用法

    print函数的作用 xff1a 可以将想要展示的内容输出在d IDLE上或者输出在文件中 print xff08 xff09 函数的使用 xff1a 1 print xff08 xff09 函数输出的内容可以是数字 2 print xff
  • 2021“MINIEYE杯”中国大学生算法设计超级联赛

    2021 MINIEYE杯 中国大学生算法设计超级联赛 1006 Given a sequence of integers of length n find the shortest consecutive subsequence witc
  • ac自动机

    https blog csdn net lleozhang article details 82782723 https www cnblogs com vongang archive 2012 07 24 2606494 html htt
  • 基环树 最大独立集

    基环树 xff0c 也是环套树 xff0c 简单地讲就是树上在加一条边 它形如一个环 xff0c 环上每个点都有一棵子树的形式 因此 xff0c 对基环树的处理大部分就是对树处理和对环处理 显然 xff0c 难度在于后者 在基环树中 xff
  • 有向图无向图找环

    https codeforces com contest 1607 problem F 练习题 xff08 有向图 题解 xff1a https www cnblogs com handwer p 15506706 html E8 B5 B
  • 《机器人知识结构图》思维导图,探索人工智能领域

    随着时代快速发展 xff0c 经济快速进步的趋势 xff0c 人工智能领域越来越被重视 xff0c 它是一门边缘学科 xff0c 属于自然科学和社会科学的交叉界限 实际应用的课程非常多 他的研究范畴又包括了自然语言处理 xff0c 知识表现
  • 微信小程序的两种视频录制方式

    曾有小伙伴询问小编能不能在小程序内实现视频录制 xff0c 今天小编就来给大家分享小程序视频录制两种方式 方法一 wx chooseVideo xff0c 这个api微信会在下方弹出选择视频和拍摄的两种选项 xff0c 因为这次主要是讲拍摄
  • 如何使用app原生上传替代uniapp的uploadfile接口

    uniapp简介 uniapp是近两年来比较火的号称开发者编写一套代码 xff0c 可发布到iOS Android Web xff08 响应式 xff09 以及各种小程序的一个平台 xff0c 它提供了各种丰富的API文档让开发者快速的完成
  • 如何用electron高度自定义制一个系统菜单栏?

    背景 最近在做一个实时聊天的PC客户端 xff0c 遇到这样一个任务 xff0c 在客户端接收到其他用户消息的时候要闪烁系统托盘图标 xff0c 并且在鼠标滑到系统托盘的时候显示未读消息的菜单栏 xff08 对 xff0c 就是类似QQ的消
  • OPENVIDU实现网络质量检测统计

    1 前言 在WebRTC中 xff0c 我们需要对当前的音视频情况进行监控 xff0c 便于对音视频质量有一个了解 xff0c 同时可以用来分析定位音视频卡顿模糊等问题 WebRTC提供了一个标准的解决方案 xff1a 标准详情 基于此标准
  • OPENVIDU实现同一用户同时发布多个流媒体

    1 前言 OPENVIDU这个库暂时是不支持在同一个会议室里面 xff0c 同一个用户同时发布多个媒体流的 但在实际工作中有这种需要 xff0c 比如用户A既要发布摄像机媒体流 xff0c 同时也要发布屏幕共享媒体流 下面介绍一种简单的方法
  • Softmax回归模型

    用到的数学概念补充 凸集 xff0c 凸函数 xff0c 黑塞矩阵 简介 节中 xff0c 我们介绍Softmax回归模型 xff0c 该模型是logistic回归模型在多分类问题上的推广 xff0c 在多分类问题中 xff0c 类标签 可
  • Ubuntu记录用户IP访问操作信息工具

    1 用脚本时刻记录用户IP访问操作信息工具 xff0c 用shell脚本去记录 2 每隔一天存放用户信息 xff0c 记录操作时间 xff0c 固定地方存放 脚本如下 在服务器环境变量中加入如下代码 vi etc profile bin b
  • webrtc系列之-像老鼠一样打洞

    众所周知 xff0c 本光头刚涉猎音视频不久 xff0c 所以很多东西都是边学边做的 xff0c 有说得不对的地方 xff0c 请各位多包涵 说穿透之前 xff0c 我们首先需要明白关于WEBRTC的一些概念 xff0c WEBRTC它是一
  • PHP的三种简单实用的传参方式

    首先声明 xff0c 本干货的观点仅代表个人观点 xff0c 拿出来和大家唠叨唠叨 最近在写代码的时候 xff0c 发现了一个有趣的事情 就是我创建了一个新的函数 xff0c 但是因为各种需求 xff0c 各种功能设计的原因 xff0c 函
  • apache rewrite(重定向)

    很多时候 xff0c 由于项目变更的需要 xff0c 我们会将一个网站的域名变更为另外一个域名 xff0c 又或者是一个地址转变为另外一个地址 而在项目里进行跳转并不是一个明智的选择 xff0c 这个时候我们就可以使用到apache的mod