ag九游客户端官网|(集团)点击登录

新闻中心

互联网+期间,说建站,谈运营与网络营销

以后地位:首页 > 新闻中心 > PHP开辟 > PHP 伪静态规矩写法RewriteRule-htaccess细致语法利用

PHP 伪静态规矩写法RewriteRule-htaccess细致语法利用

###

一、正则表达式教程

伪静态规矩写法RewriteRule-htaccess细致语法利用教程分享

复杂说下:伪静态实践上是使用PHP把以后地点剖析成别的一种办法举行拜访网站!要学伪静态规矩的写法,你必需得懂一点正则,不会不要紧[bú yào jǐn],照着上面的套就行


一、正则表达式教程

有一个经典的教程:
这个教程确实很复杂,看完根本上写一些复杂的正则就没有题目了。正则是一个必要临时利用的东西,隔段工夫不必会遗忘,以是我每次都看一遍这个教程。实在学过之后紧张的便是一点内容。

复杂摆列如下:

.换行符以外的一切字符
\w 婚配字母或数字或下划线或汉字
\s 婚配恣意的空缺符
\d 婚配数字
\b 婚配单词的开端或完毕
^ 婚配字符串的开端
$ 婚配字符串的完毕
* 反复零次或更屡次
+ 反复一次或更屡次
? 反复零次或一次
{n} 反复n次
{n,}反复n次或更屡次
{n,m} 反复n到m次

使用交换时,后面第一个()中婚配的内容前面就用$1援用,第二个()中婚配的就用$2使用……
这个个()内里的东东叫原子组
剖析一下 discuzseo[seo] 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 用户不是来自ag九游的网站,那么让他看一张ag九游网站的展示图片。
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.xxx.com/index.html  -> http://www.xxx.com/index.php  RewriteRule ^test([0-9]*).html$ test.php?id=$1 好比:http://www.xxx.com/test8.html  -> http://www.xxx.com/test.php?id=8  RewriteRule ^cat-([0-9]+)-([0-9]+)\.html$ cat.php?id1=$1&id2=$2 好比:http://www.xxx.com/cat-1-3.html -> http://www.xxx.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.xxx.com/cat-zbc2ac-3-5.html -> http://www.xxx.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.xxx.com/cat1-4-3-8.html -> http://www.xxx.com/cat1.php?id1=4&id2=3&id3=8  RewriteRule ^cat([0-9]*)/$ cat.php?id1=$1 好比:http://www.xxx.com/cat5/ -> http://www.xxx.com/cat.php?id1=5  RewriteRule ^catm([0-9]*)/([0-9]*)/$ catm.php?id1=$1&id2=$2 好比:http://www.xxx.com/catm6/3/ -> http://www.xxx.com/catm.php?id1=6&id2=3
首页
案例中心
关于ag九游
联系ag九游