Pourquoi modRewrite applique automatiquement le .php à cette règle simple?
-
03-07-2019 - |
Question
Ok les gars, j'ai peut-être un problème stupide, mais je suis probablement idiot:)
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 des URL comme celles-ci:
http: // hôte / nouvelles / quelque chose
je suis redirigé vers le fichier news.php, pas vers news-inside.php avec la chaîne de requête!
regardant les $ _GET et $ _SERVER de la page atteinte, voici le résultat:
Ok les gars, j'ai peut-être un problème stupide, mais je suis probablement idiot:)
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 des URL comme celles-ci:
http: // hôte / nouvelles / quelque chose
je suis redirigé vers le fichier news.php, pas vers news-inside.php avec la chaîne de requête!
regardant les $ _GET et $ _SERVER de la page atteinte, voici le résultat:
<*>
Des idées?
GET => empty
Ok les gars, j'ai peut-être un problème stupide, mais je suis probablement idiot:)
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 des URL comme celles-ci:
http: // hôte / nouvelles / quelque chose
je suis redirigé vers le fichier news.php, pas vers news-inside.php avec la chaîne de requête!
regardant les $ _GET et $ _SERVER de la page atteinte, voici le résultat:
<*>
Des idées?
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)
Des idées?
La solution
Essayez de désactiver MultiViews
:
Options -MultiViews