2009-03-01 2 views
1

Ok, ребята у меня есть, может быть, глупая проблема, но я, наверное, тупой :)Почему modRewrite применяет автоматический .php к этому простому правилу?

У меня есть этот простой .htaccess:

Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/

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


RewriteCond %{REQUEST_FILENAME} !-f 

Каждый раз, когда я пытаюсь войти в первое правило, набрав несколько URL-адресов как эти:

http://host/news/something

я попадаю в файл news.php, не газетный inside.php со строкой запроса!

глядя на $ _GET и $ _SERVER достигнутых страниц, это результат:

$_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) 

Любых идеи ??

ответ

5

Попробуйте отключить MultiViews:

Options -MultiViews 
+0

это работает, спасибо большое! Я не знал этого варианта :( – apelliciari

Смежные вопросы