0

那里!我在一个项目中使用这个 .htaccess 文件:

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

它在 Apache 2.2 中运行良好

最近开始使用 Zend Server CE,ReWrite Rule 不起作用!这有效:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

这就是 Apache 的文档所说的:

变量SCRIPT_FILENAMEREQUEST_FILENAME包含相同的值 - Apache 服务器内部 request_rec 结构的文件名字段的值。第一个名称是众所周知的 CGI 变量名称,而第二个是相应的对应名称REQUEST_URI(其中包含 request_rec 的 uri 字段的值)。

任何人都可以弄清楚为什么?欣赏!

4

1 回答 1

1

对不起,各位!我犯了一个错误,这将起作用:

   `RewriteEngine On`
   `RewriteCond %{SCRIPT_FILENAME} !-f`
   `RewriteCond %{SCRIPT_FILENAME} !-d`
   `RewriteRule ^(.*)$ /index.php  [L]`

似乎 FastCGI 处理像 index.php/anything_here 这样的 url 作为真正的 url ,而不是带有 pathinfo 的 index.php 。

于 2010-06-11T02:15:59.453 回答