RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 是什么意思?

Posted Stand by me(周国伟)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 是什么意思?相关的知识,希望对你有一定的参考价值。

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

1、排除一些条件,必须两个条件都满足后才重定向到index.php
//如果你访问的文件不等于目录

RewriteCond %{REQUEST_FILENAME} !-d

//如果你访问不是文件,比如你可能访问的JPEG等图片文件

RewriteCond %{REQUEST_FILENAME} !-f

2、^(.*)$ 匹配所有的路径映射到入口文件 index.php/$1

3、标签 [QSA,PT,L] QSA:表示保留参数如get传值?xxx==xx...; PT:再把这个URL交给Apache处理;L:作为最后一条;
PT和L可加可不加。

技术分享图片



以上是关于RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 是什么意思?的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess转换nginx服务器伪静态文件

从 RewriteRule 中排除文件夹/目录

[转]ThinkPHP5 隐藏index.php问题

如何为 N 参数创建 RewriteRule?

Apache 伪静态

.htaccess RewriteRule .php扩展冲突