伪静态实际上是利用PHP把当前地址解析成另一种方法来访问网站,要学伪静态规则的写法,要懂一点正则

一、正则表达式教程

有一个经典的教程:正则表达式30分钟入门教程

常用正则如下:

. 换行符以外的所有字符

\w  匹配字母或数字或下划线或汉字

\s  匹配任意的空白符

\d  匹配数字

\b  匹配单词的开始或结束

^   匹配字符串的开始

$  匹配字符串的结束

*   重复零次或更多次

+  重复一次或更多次

? 重复零次或一次

{n}  重复n次

{n,}  重复n次或更多次

{n,m}  重复n到m次

应用替换时,前面一个()中匹配的内容后面就用$1引用,第二个()中匹配的就用$2引用,,,,,,

这个()里面的东西叫原子组

分析一下discuz搜索引擎优化 htaccess里面的重写。

RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2

首先加入用户通过 linuxidc.com/forum-2-3.html 访问discuz论坛,那么先通过.htaccess过滤,看看是否需要.htaccess引导一下用户,如果满足列出的一系列RewriteCond的 条件那么就进行重写,

discuz的没有列出RewriteCond 所以应该全部都进行重写。

所以开始进行转写,

forum-2-3.html 这个正好符合 列出的

^forum-([0-9]+)-([0-9]+)\.html$

正则表达式。并且 $1 为 2 ,$2为3 ,

所以代入后面,即 forumdisplay.php?fid=2&page=3 加上前面的RewriteBase 指定的文件目录,那么就带他到制定目录的forumdisplay.php?fid=2&page=3 。

二、常见的.htaccess应用举例(部分例子引自四个例子实战讲解.htaccess文件rewrite规则)

4.1 防止盗链,如果来得要访问jpe jpg bmp png结尾的url 用户不是来自我们的网站,那么让他看一张我们网站的展示图片。

RewriteEngine OnRewriteCond %{HTTP_REFERER} !^http://(.+.)?mysite.com/ [NC]RewriteCond %{HTTP_REFERER} !^$RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

4.2 网站升级的时候,只有特定IP才能访问,其他的用户将看到一个升级页面

RewriteEngine onRewriteCond %{REQUEST_URI} !/upgrade.html$RewriteCond %{REMOTE_HOST} !^24\.121\.202\.30

RewriteRule $ http://www.linuxidc.com/upgrade.html [R=302,L]

4.3把老的域名转向新域名

# redirect from old domain to new domainRewriteEngine OnRewriteRule ^(.*)$http://www.yourdomain.com/$1[R=301,L]

三、常用示例

RewriteEngine On

RewriteRule index.html index.php

比如:http://www.what21.com/index.html -> http://www.what21.com/index.php

RewriteRule ^test([0-9]*).html$ test.php?id=$1

比如:http://www.what21.com/test8.html -> http://www.what21.com/test.php?id=8

RewriteRule ^cat-([0-9]+)-([0-9]+)\.html$ cat.php?id1=$1&id2=$2

比如:http://www.what21.com/cat-1-3.html -> http://www.what21.com/cat.php?id1=1&id2=3

RewriteRule ^cat-([a-zA-Z0-9\-]*)-([0-9]+)-([0-9]+)\.html$ cat.php?id0=$1&id1=$2&id2=$3

比如:http://www.what21.com/cat-zbc2ac-3-5.html -> http://www.what21.com/cat.php?id0=zbc2ac&id1=3&id2=5

RewriteRule ^cat1-([0-9]+)-([0-9]+)-([0-9]+)\.html$ cat1.php?id1=$1&id2=$2&id3=$3

比如:http://www.what21.com/cat1-4-3-8.html -> http://www.what21.com/cat1.php?id1=4&id2=3&id3=8

RewriteRule ^cat([0-9]*)/$ cat.php?id1=$1

比如:http://www.what21.com/cat5/ -> http://www.what21.com/cat.php?id1=5

RewriteRule ^catm([0-9]*)/([0-9]*)/$ catm.php?id1=$1&id2=$2

比如:http://www.what21.com/catm6/3/ -> http://www.what21.com/catm.php?id1=6&id2=3

其中不提倡贪婪模式,把0-9都改成([\d]*?)     *?允许空

php 伪静态 rewriterule,PHP伪静态 RewriteRule-htaccess详细规则使用说明相关推荐

  1. 杰奇linux伪静态,常用的13个.htaccess重写URL的伪静态规则

    网站伪静态重写url是提高URL标准化一个比较实用的方法: 下面是我收集的13种伪静态重写规则, 使用方法:把规则里的域名 http://example.com 改成你自己的网站域名 放在网站根目录下 ...

  2. zblog php伪静态,zblog php 伪静态设置详解

    今天有两个用户来咨询 zblog php 博客程序的伪静态设置方法,所以抽空就写了写关于 zblog 伪静态的设置教程,有需要的就拿去吧,如果转载的话,就注明一下文章的来源哦. zblog 伪静态规则 ...

  3. 帝国cms linux伪静态规则,置帝国cms如何设置tag标签伪静态化 linux伪静态设置方法_博客...

    <置帝国cms如何设置tag标签伪静态化 linux伪静态设置方法_博客>由会员分享,可在线阅读,更多相关<置帝国cms如何设置tag标签伪静态化 linux伪静态设置方法_博客(6 ...

  4. php标签嵌入规范,HTML标签嵌套的详细规则

    这次给大家带来HTML标签嵌套的详细规则,HTML标签嵌套的注意事项有哪些,下面就是实战案例,一起来看一下. 最近在重新学习HTML的知识,算是对HTML的一个重新认识吧!别小看了这东西,一切的网页可 ...

  5. TopCoder 详细规则入门(灰常实用)

    TopCoder 详细规则入门(灰常实用) 基本规则 TopCoder的比赛类型很多,最常见的是周赛SRM(Single Round Match),另外还有TCHS SRM(TopCoder High ...

  6. 三分钟了解阿里云学生机购买限制条件详细规则

    三分钟了解阿里云学生机购买限制条件详细规则 <云翼计划>是阿里云为学生群体提供优惠学生机的活动,符合条件的学生用户9.5元的优惠价格即可购买一台1核2G学生服务器,下面赵一八笔记(www. ...

  7. VLC详细的使用说明以及配置…

    原文地址:VLC详细的使用说明以及配置说明综合示范实例精通VLC开发 作者:向前冲 vlc的全名是Video Lan Client,是一个开源的.跨平台的视频播放器.VLC支持大量的音视频传输.封装和 ...

  8. nginx下安装配置modsecurity waf防火墙(附完整编译、配置、排错、详细规则)

    ModSecurity是一个免费.开源的Apache模块,可以充当Web应用防火墙(WAF).ModSecurity是一个入侵探测与阻止的引擎.它主要是用于Web应用程序所以也可以叫做Web应用程序防 ...

  9. 超详细exe4j使用说明

    超详细exe4j使用说明 1. 准备工作 ① 官网下载exe4j ,官网地址:https://www.ej-technologies.com/download/exe4j/files ② 确保已经安装 ...

最新文章

  1. JVM解读-性能调优实例
  2. 【JVM】肝了一周,吐血整理出这份超硬核的JVM笔记(升级版)!!
  3. 怎样检查Android网络连接状态
  4. (五)Oracle学习笔记—— 视图
  5. iOSTableview 禁止下拉,允许上拉
  6. python 清空所有对象_学习python第38天
  7. 制作github博客
  8. 华为mate10手机听筒测试软件,华为mate 10功能说:这几个设置,让你通话体验直线上升,简直了!...
  9. linux 虚拟机设置好固定ip 修改了 dns 网络需要设置成桥接模式
  10. java 快速从树节点找到数据_14期每日分享Java程序员分享超全哈希相关的知识
  11. java 日期 yyyy_java日期中YYYY与yyyy的区别
  12. COSCon’19开源教育论坛:开源无疆、教育无界
  13. 学术论文中的Introduction与Background
  14. 跟踪fork: Resource temporarily unavailable的原因
  15. mysql 高并发 响应时间_高并发,你真的了解吗?
  16. Dialog的高冷用法
  17. pycuda的安装,wheel报错
  18. 线性代数-克莱姆法则
  19. c语言割线法求方程跟,分别用牛顿法和割线法求解方程 x^3-6x^2+9x-2=0在区间[3,4]上的近似根.要求满足精度|x*-xk|...
  20. 用纯CSS让子DIV自适应父DIV的高度

热门文章

  1. AutoCAD2019+vs2019+C# 二次开发学习笔记day01(持续更新)
  2. 一文搞懂I2S通信总线
  3. js怎么向上取整_JavaScript Math.ceil 方法(对数值向上取整)
  4. 重拳!科研失信将面临43项联合惩戒,包括撤销院士资格等!
  5. Windows电脑如何更改账户类型
  6. Django(Celery+日志)
  7. form 关于form表单提交方式get和post的区别?
  8. 搜索排名:基于lightgbm的learn2rank
  9. 这个蟹我一抓,五两,这个称上放放,你看
  10. el-table 树形表格 自定义展开图标_图标制作工具 Icon Slate for mac