Zend Server CE Apache mod_rewrite REQUEST_FILENAME SCRIPT_FILENAME Problem
there! I use this .htaccess file in a project:
开发者_运维知识库RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
It works well in Apache 2.2
Recently I started to use Zend Server CE , the ReWrite Rule didn't work ! And this works:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
This is what Apache's document say:
The variables
SCRIPT_FILENAME
andREQUEST_FILENAME
contain the same value - the value of the filename field of the internal request_rec structure of the Apache server. The first name is the commonly known CGI variable name while the second is the appropriate counterpart ofREQUEST_URI
(which contains the value of the uri field of request_rec).
Anyone can figure out why? Appreciate!
Sorry,EveryOne! I made a mistake, this will work:
`RewriteEngine On`
`RewriteCond %{SCRIPT_FILENAME} !-f`
`RewriteCond %{SCRIPT_FILENAME} !-d`
`RewriteRule ^(.*)$ /index.php [L]`
It appears that FastCGI process url like index.php/anything_here as a true url , not index.php with pathinfo.
精彩评论