2010-05-28 10 views
0

là! J'utilise ce fichier .htaccess dans un projet:Zend Serveur CE Apache mod_rewrite REQUEST_FILENAME SCRIPT_FILENAME Problème

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

Il fonctionne bien dans Apache 2.2

Récemment j'ai commencé à utiliser Zend Server CE, la règle de réécriture ne fonctionne pas! Et cela fonctionne:

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

C'est ce que le document d'Apache dit:

Les variables SCRIPT_FILENAME et REQUEST_FILENAME contiennent la même valeur - la valeur du champ de nom de la structure request_rec interne du serveur Apache . Le premier nom est le nom de variable CGI communément connu tandis que le second est la contrepartie appropriée de REQUEST_URI (qui contient la valeur du champ uri de request_rec).

Tout le monde peut comprendre pourquoi? Apprécier!

+0

Aucune idée. Apparaît pour contredire la documentation d'Apache, mais puisque vous n'utilisez pas un apache de vanille, n'importe quoi va. Essayez d'activer la journalisation. – Artefacto

Répondre

1

Désolé, EveryOne! J'ai fait une erreur, cela fonctionnera:

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

Il semble que l'URL de processus FastCGI comme index.php/anything_here comme un véritable URL, pas index.php avec pathinfo.