2011-01-03 6 views
1

Mon fichier .htaccess ci-dessous devrait envoyer tout à ma page index.php où mon cadre [Fat Free Frameowkr] le gère.problème avec .htaccess et mod_rewrite

Cependant, si je vais à http://www.site.com/ cela fonctionne. Si je vais à http://www.site.com/about, j'obtiens une erreur 404.

Des idées?

# Enable rewrite engine and route requests to framework 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php [L,QSA] 

# Disable ETags 
Header Unset ETag 
FileETag none 

# Default expires header if none specified (stay in browser cache for 7 days) 
<IfModule mod_expires.c> 
ExpiresActive On 
ExpiresDefault A604800 
</IfModule> 
+0

Je crains que vous ayez besoin de faire un peu plus de débogage (voir ['RewriteLogLevel'] (http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteloglevel)). – Gumbo

+0

Je configure 'rewrite.log' mais je n'obtiens aucune erreur même avec un niveau de débogage élevé. Juste le 404. – ian

+0

Avez-vous trouvé une solution? –

Répondre

0

Essayez cette partie

# Enable rewrite engine and route requests to framework 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^/(.*)$ index.php/$1 [L,QSA] 

HTTP 404 liens directement au cas que votre .htaccess n'a pas attraper la demande via .htaccess donc juste pour vérifier des cas si vous avez prioritaire .htaccess autorisé (httpd conf, AllowOverride)