2009-03-01 4 views
1

Ok les gars que j'ai peut-être un problème stupide, mais je suis probablement stupide :)Pourquoi modRewrite applique automatique .php à cette règle simple?

J'ai ce simple .htaccess:

Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/

RewriteRule ^news/([^/]+)$    news-inside.php?n=$1 [L] 
RewriteRule ^news/?$     news.php [L] 


RewriteCond %{REQUEST_FILENAME} !-f 

Chaque fois que j'essaie d'entrer dans la première règle en tapant quelques urls comme ceux-ci:

http://host/news/something

i redirigés vers le fichier news.php, pas aux nouvelles-inside.php avec la chaîne de requête!

regardant le $ _GET et $ _SERVER de la page atteinte, voici le résultat:

$_GET => empty 

$_SERVER (some) 

    'REQUEST_METHOD' => string 'GET' (length=3) 
    'QUERY_STRING' => string '' (length=0) 
    'REQUEST_URI' => string '/news/something' (length=15) 
    'SCRIPT_NAME' => string '/news.php' (length=9) 
    'PATH_INFO' => string '/something' (length=10) 
    'PATH_TRANSLATED' => string '/var/www/rolo/something' (length=23) 
    'PHP_SELF' => string '/news.php/something' (length=19) 

Toutes les idées ??

Répondre

5

Essayez de désactiver MultiViews:

Options -MultiViews 
+0

cela fonctionne, merci beaucoup! je ne connaissais pas cette option :( – apelliciari