首页 » Web前端 » php接口重写技巧_站点地址重写的规则文件htaccess详解

php接口重写技巧_站点地址重写的规则文件htaccess详解

访客 2024-11-15 0

扫一扫用手机浏览

文章目录 [+]

本日有韶光把以前用的地址重写文件.htaccess负责的剖析了一下,以前太暴躁,不太乐意深入的理解它的浸染和事理。

CI框架的入口文件是index.php, 在浏览器访问的地址该当是http://www.test.com/index.php/api/hello, 可我们觉得路径中有index.php不优雅,想写成http://www.test.com/api/hello这样的形式。

php接口重写技巧_站点地址重写的规则文件htaccess详解

可在apache收到短缺index.php的地址时会找不到入口文件,这里就须要在 apache处理时重写地址,把地址规复成有index.php的实际地址。

php接口重写技巧_站点地址重写的规则文件htaccess详解
(图片来自网络侵删)

.htaccess文件是放在入口文件index.php的同级目录,文件里定义了重写地址的条件和规则.

RewriteEngine On // 表示重写引擎开,关闭off,浸染便是方便的开启或关闭以下的语句,这样就不须要一条一条的注释语句了。

RewriteCond %{REQUEST_FILENAME} !-f // 当要求的文件是不存在时

RewriteCond %{REQUEST_FILENAME} !-d // 当要求的路径是不存在时

RewriteRule ^(.)$ index.php/$1 [L]

当上面的RewriteCond条件都知足的时候,将会实行此重写规则.

1. ^(.)$ 是一个正则表达的匹配,匹配所有的路径, .表示任意单个字符,表示匹配0次或N次(N>0),(.) 用于匹配某一区域内所有内容

2.^ 表示正则的开始, $ 表示正则的结束

3. index.php/$1是重写身分,意思是将前面匹配的字符重写成 index/$1, $1表示反向匹配,引用的是前面第一个圆括号的身分

4. 如果后面还连续有语句的,就不应该加上末了的[L],由于这是表示末了一条语句的意思

标签:

相关文章