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. vue-router路由元信息详解

    一.官方文档 路由元信息:定义路由的时候可以配置 meta 字段 const router = new VueRouter({ routes: [ { path: '/foo', component: ...

  2. ps与top命令简单介绍

    Linux中ps与top命令 这两个命令都是查看系统进程信息的命令,但是用处有点儿不同 1.ps命令--提供系统过去信息的一次性快照 也就是说ps命令能够查看刚刚系统的进程信息  命令:ps aux或 ...

  3. token 案例,只是测试,功能并不完善(只是看看token 到底是何方神圣)

    token 简单理解就是 加密 解密的一个过程 JavaWebToken(加密解密工具) public class JavaWebToken { private static Logger log = ...

  4. 浅谈PHP数据结构之栈

    今天開始进阶自己的PHP,首先一切的编程语言都须要修炼自己的"内功",何为程序猿的"内功",我想大概就是数据结构和算法了吧 .毕竟是灵魂,是普通程序猿到高级程序 ...

  5. minigui杂项

    官方下载地址 MiniGUI简介 http://www.minigui.com/zhcn/download/ MiniGUI3.0.12 移植到mini2440 在海思hi3520上移植minigui ...

  6. 算法笔记_139:二分图的最大权匹配(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 何为二分图的最大权匹配问题? 最大权二分匹配问题就是给二分图的每条边一个权值,选择若干不相交的边,得到的总权值最大. 2 解决方案 对于此问题的讲解 ...

  7. java反射--通过反射了解集合泛型的本质

    通过Class,Method来认识泛型的本质 package com.reflect; import java.lang.reflect.Method; import java.util.ArrayL ...

  8. 如何配置 Oracle VirtualBox 中的客户机与物理机网络

    当你在 Oracle VirtualBox 虚拟机软件 中安装了各种操作系统时,你可能需要实现物理机与虚拟机之间的相互访问. 在这篇文章中,我们将会以最简单明了的方式来说明如何配置客户机与 Linux ...

  9. Ubuntu8.04系列-系统优化篇

    文章欢迎转载,转载请注明出处:嘉骏苑http://luckiss.blogcn.com  原文出处:http://luckiss.blogcn.com/diary,15151058.shtml    ...

  10. LaTex 常见错误及解决办法

    出现错误: Multirow 要用库的  导入\usepackage{multirow} ,,即可