Почему modRewrite автоматически применяет .php к этому простому правилу?
-
03-07-2019 - |
Вопрос
Ладно, ребята, возможно, у меня глупая проблема, но я, наверное, тупой :)
У меня есть простой .htaccess:
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^news/([^/]+)$ news-inside.php?n=$1 [L]
RewriteRule ^news/?$ news.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
Каждый раз, когда я пытаюсь войти в первое правило, вводя такие URL-адреса:
меня перенаправляют на файл news.php, а не на news-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)
Есть идеи??
Решение
Попробуйте отключить MultiViews
:
Options -MultiViews
Не связан с StackOverflow