Php $\u服务器['PATH\u INFO']正在删除请求字符串的前3个字符

Php $\u服务器['PATH\u INFO']正在删除请求字符串的前3个字符,php,apache,.htaccess,slim,Php,Apache,.htaccess,Slim,我正在运行SlimAPI,遇到了一个奇怪的错误。我想知道为什么我的PATH_INFO变量会删除我请求的前3个字母 我请求的路径是d omain.com/cis/report/index Path info变量正在为我提供 /ort/索引 我的.htaccess文件 RewriteEngine On RewriteBase /cis/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRul

我正在运行SlimAPI,遇到了一个奇怪的错误。我想知道为什么我的PATH_INFO变量会删除我请求的前3个字母

我请求的路径是d

omain.com/cis/report/index

Path info变量正在为我提供

/ort/索引

我的.htaccess文件

RewriteEngine On
RewriteBase /cis/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
在对正在发生的事情做了一些研究之后,我发现我的服务器正在通过

$_SERVER['SCRIPT_NAME'] = "/xrs/cis/index.php"
这导致Environment.php使用

dirname($_SERVER['SCRIPT_NAME']) === "/xrs/cis/"
所以我现在需要做的是在我的.htaccess文件中更改它

$_SERVER['SCRIPT_NAME'] = "/cis/index.php"


到目前为止,Apache服务器是使用基于子域的动态虚拟主机设置的,即xrs.domain.com重定向到/htdocs/xrs/

使用$env['PATH_INFO']怎么样。。。?它工作吗?…不,这是正在删除Slim从$\u服务器['PATH\u INFO']变量获得的3个字母的变量。这可能是问题::…用此代码创建一个名为INFO.php的文件,然后在重写规则中将index.php更改为inf.php并打开http://domain.com/cis/report/index. 现在检查$\u服务器['PATH\u INFO']。
$_SERVER['REQUEST_URI'] = "/xrs/cis/report/index"