Php 如何在RewriteCond中获取本地路径?
这是我的.htaccess文件:Php 如何在RewriteCond中获取本地路径?,php,apache,.htaccess,apache2,Php,Apache,.htaccess,Apache2,这是我的.htaccess文件: RewriteEngine On RewriteBase /projs/CodeIgniterTest RewriteCond %{REQUEST_URI} !^/projs/CodeIgniterTest/index.php RewriteRule ^(.*)$ index.php/$0 RewriteRule工作正常,但我无法使RewriteCond行使用本地路径。我想让它起作用: RewriteCond %{REQUEST_URI} !^index.
RewriteEngine On
RewriteBase /projs/CodeIgniterTest
RewriteCond %{REQUEST_URI} !^/projs/CodeIgniterTest/index.php
RewriteRule ^(.*)$ index.php/$0
RewriteRule
工作正常,但我无法使RewriteCond
行使用本地路径。我想让它起作用:
RewriteCond %{REQUEST_URI} !^index.php
但是遗憾的是,%{REQUEST_URI}
不太关心RewriteBase
行,而是使用完整路径。有什么方法可以达到我想要的结果吗?我不希望每次更改项目路径时都必须编辑.htaccess文件
RewriteRule ^index.php - [L]
RewriteRule ^(.*)$ index.php/$0
或者只是
RewriteCond $0 !^index.php
RewriteRule ^(.*)$ index.php/$0
RewriteCond$0^php
工作起来很有魅力!但是你能解释一下$0
部分吗?我在RewriteCond文档中没有看到类似的内容。在执行RewriteCond规则之前,Apache在RewriteCond规则中匹配regex。因此,RewriteCond可以在TestString中使用$0..9。因此,在您的示例中,$0包含相对于您的基础的路径。(在上的第一个公告点中)