当前位置:首页 > PHP >

linux伪静态规则(.htaccess)里正则表达式基础语法的特殊字符含义说明

时间:2016-03-02 12:29:20浏览:3701 本站原创

伪静态规则是一个可以使网站静态化的规则,他可以使您的网站访问更快,更容易被收录。现在的开源程序都是有提供方便实用伪静态规则,但是有些程序伪静态规则还是自己定义的,今天就分享下伪静态规则代码的具体意义,希望对自定义伪静态的站长有帮助。


首先通过ftp工具连接您的php虚拟主机,打开根目录下的.htacess文件,如果没哟偶可以自己新建一个.htaccess文件。开头内容如下:

RewriteEngine on

RewriteBase /

RewriteEngine on是代表开启rewrite的重写规则,而RewriteBase / 是表示所有规则前都存在“/”路径下面,写了这条之后,你后面所有规则的开头,只需要写“^”就后了,但要注意的是,此规则仅在.htacess文件中被支持,如果是服务器配置文件,此规则会被忽略、不必写。伪静态规则里面有许多特殊的字符,每个字符都有特殊的含义:

*代表前面0或更多个字符

+代表前面1或更多个字符

?代表前面0或1个字符

^代表字符串的开始位置

$代表字符串结束的位置

.为通配符,代表任何字符

将跟在其后的字符还原为字符本身,例如“\+”代表的就是“+”,而非其它意思。

^在方括号里表示非的意思。例如[^.]代表非通配符。

那么假如我们希望将“http://www.xxx.com/b.php?id=1″此类URL伪静态为“http://www.xxx.com/b/1″的形式,则规则如下:RewriteRule ^b/([0-9]+)/?$/b.php?id=$1 [L]

上面的例子里面,^表示域名后来的URL的开始,$表示字符串结束,也就是域名后面的URL结束。[0-9]表示数字,大概的意思就是,只有网站的地址存在,就必须给这个地址分配一个数字作为网站的地址。紧接其后的+表示表示出现1个或多个数字。[0-9]+连在一起,表示字符以数字形式出现,数字范围为0-9,出现次数为1或多次。$表示字符串结束,?$表示在根域名后到域名结束,有0或1个字符。$1表示存在内存中的内容,也就是说第一个圆括号中的内容。[L]表示如果规则匹配就停止,否则需要继续运行剩下的规则。

了解上面的规则后我们就可以根据自己的需要在配合php函数,把伪静态规则给嵌入到您的网站上面。把您的动态网页转换成伪静态的网页。

上一篇:mac下的Home和End键
下一篇:精确验证身份证号

发表评论

昵称:  验证码:

关于博主

博主

博主:BlueCode

职业:web程序

简介:2002年开始一直从事Web制作,网站运营,会PHP+MYSQL ASP+MSSQL,微信开发