mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。一些防盗链就是通过该方法做到的。

00x1 启动rewrite引擎

00x2 如何启用apache rewrite?

00x3 书写Rewrite代码

00x4 Rewrite规则学习

00x1 启动rewrite引擎

  • RewriteEndine on

可以使用两种方式来写rewite,一种是直接在httpd.conf当中写。一种则是写在.htaccess中。

00x2 如何启用apache rewrite?

  • 在httpd.conf当中找到“LoadModule rewrite_module modules/mod_rewrite.so”将#号去除即开启了apache rewrite。
  • 开启.htaccess,依旧是在httpd.conf文件当中的AllowOverride all的“#”号去除即可。

可以在phpinfo界面当中查看rewrite开启信息,Loaded Modules处查看:mod_rewrite 如存在即已开启。

00x3 书写Rewrite代码:

  1. 如果要直接在httpd.conf中输入的话,则输入在“</IfModule>”标签结尾处。

  2.在htaccess书写。在windows当中是不允许建立这样的文件,那么我们要如何建立呢?先建立一个htaccess.txt可以进入cmd,键入:rename htaccess.txt .htaccess便可以生成一个.htaccess文件。简单的说就是建一个txt然后使用cmd重命名为htaccess即可。

00x4 Rewrite规则学习

  新建立好一个.htaccess文件了以后,使用记事本打开。开始学习Rewrite规则。

开始第一个案例:

RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭
RewriteRule ^(.*?).html 1.php?id=$1

Rewriterule是重写规则。后面的是正则。

1.php的代码:

<?php
echo $_GET['id'];
?>

写好rewrite了以后重启apache。然后访问127.0.0.1/t_test.html

输出的效果如下所示:

成功的实现了伪静态。

这种仅仅只是以文件的方式写伪静态,我们还可以以文件夹的方式写

直接在刚才的基础上使用正则($)的作用来操作。代码如下:

RewriteEngine on
RewriteRule ^t_(.*)/$ 1.php?id=$1

可以随便你怎么写就怎么写。

相关知识


mod_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

Apache Rewrite 拟静态的更多相关文章

  1. Apache Rewrite 拟静态配置

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

  2. Apache Rewrite 拟静态配置54

    mod_rewrite 规则的使用 RewriteEngine on RewriteCond %{HTTP_HOST} !^www.php100.com  [NC]  RewriteRule   ^/ ...

  3. Apache Rewrite 静态配置

    1.mod_rewrite 简介和配置 Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范.平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等如一个普通访问 ...

  4. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  5. Apache rewrite

    Apache rewrite mod_rewrite简介和配置 实URL跳转隐藏真实地址 拟目录 域名跳转 防止盗链 Apache配置支持httpd.conf配置.htaccess配置 启用rewri ...

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

    http://www.jb51.net/article/24435.htm 1.Apache Rewrite的主要功能 就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范.平时帮助我 ...

  7. Apache Rewrite的主要功能

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

  8. 使用Apache服务部署静态网站2019-7-5

    使用Apache服务部署静态网站 第1步:把镜像挂载到系统中 第2步:使用vim文件编辑器创建YUM仓库的配置文件 [root@study ~]# vim /etc/yum.repos.d/abc.r ...

  9. HTTP POST请求的Apache Rewrite规则设置

    最近自测后端模块时有个业务需求需要利用WebServer(我用的是Apache)将HTTP POST请求转发至后端C模块,后端处理后返回2进制加密数据.http post请求的url格式为:     ...

随机推荐

  1. 详解Vuex常见问题、深入理解Vuex

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 状态?我把它理解为在data中的属性需要共 ...

  2. ActiveMQ的环境搭建及使用

    一:环境搭建 ActiveMQ官网下载mq在windows上的安装包:http://activemq.apache.org/,解压到某个磁盘下. 运行要环境条件:jdk安装1.8,(本人这里安装版本) ...

  3. Cognos清除本地高速缓存的利与弊

    场景:在开发报表初期,往往我们遇到过这种问题,我们手工修改了DB中的测试数据,但是返回报表看,数据还没有更新,难道是设计出问题了?NO,不要慌,这是因为Cognos为了查询效率设计了高速缓存的选项. ...

  4. ShareSDK for Android 2.3.10已经公布

    ShareSDK for Android 2.3.10已经公布,本次更新内容包含: 1.加入自己定义分享标签功能 新版本号SDK下载页面地址: http://share.sharesdk.cn/Dow ...

  5. xcode的svn和git使用方法

    1.创建版本库:(参考:http://blog.csdn.net/itianyi/article/details/8601183) 方法:直接在windows服务器安装VisualSVN Server ...

  6. Android中的一些小技巧

    这个是App判断是pad还是手机的代码: public boolean isTabletDevice() { TelephonyManager telephony = (TelephonyManage ...

  7. 零java基础搞定微信Server

    自从打通了微信client到BLE设备端的通道.我的工作就转移到了server端了.微信的BlueDemoServer是以java编写,而本尊仅仅懂得嵌入式,对JavaWeb一窍不通. 本尊贵为IOT ...

  8. 转:介绍shell_notifyicon,SendMessage,CallWindowProc,GetWindowLong,SetWindowLong的用法

    Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias " Shell_NotifyIconA& ...

  9. [JS前端开发] js/jquery控制页面动态载入数据 滑动滚动栏自己主动载入事件

    本人小菜鸟一仅仅.为了自我学习和交流PHP(jquery,linux,lamp,shell,javascript,server)等一系列的知识,小菜鸟创建了一个群.希望光临本博客的人能够进来交流.寻求 ...

  10. Asp.Net Core + SignalR 实现实时通信

    一.搭建项目 1.创建一个ASP.NET Core MVC 项目 2.nuget 下载和安装 MicroSoft.AspNetCore.SignalR vs提示版本冲突 这时我们选择低版本即可 二.S ...