Si url "bidon", pas de 404 mais page sans css ?

Nouveau WRInaute
Bonjour (je debute...),
voici mon probleme (je suis chez ovh) :
- j'ai constaté que si je tapais une url de mon site avec un / à la fin (ex : http://www.example.com/mapage.php/), j'avais l'affichage de mapage.php sans le css.
- J'ai corrigé ce probleme en supprimant le / de fin en rajoutant dans le .htaccess :
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]

Mais si j'ai n'importe quoi apres le / (ex : http://www.example.com/mapage.php/jhsdtrdey), je me retrouve a nouveau avec l'affichage de mapage.php sans le css.

Pourquoi ca ne passe pas en erreur 404 vu que cette url ne correspond a rien ?

En fait, j'aimerais arriver à :
http://www.example.com/mapage.php --> ok
http://www.example.com/mapage.php/ --> ok ou erreur 404
http://www.example.com/mapage.php/sdqgyhset --> erreur 404

Merci pour votre aide.
 
Nouveau WRInaute
Merci Spout,
Oui, j'avais vu ce post en cherchant une solution.
Mais ce ne resouds pas vraiment mon probleme.

Quand je tape :
http://www.example.com/mapage.php/sdqgyhset , je ne veux pas afficher mapage.php (avec ou sans css), je voudrais que ca passe en erreur 404. Ce qui devrait etre normal vu que ca ne correspond à aucune page.

Je ne comprends pas pourquoi ca veut m'afficher mapage.php ?
 
WRInaute accro
rollex a dit:
Je ne comprends pas pourquoi ca veut m'afficher mapage.php ?

Parce que un slash après mapage.php est le passage des paramètres via $_SERVER['PATH_INFO'] (si AcceptPathInfo = On dans httpd.conf)

Il faut tester sur la variable $_SERVER['PATH_INFO'] pour voir si oui ou non il faut générer une 404 voir même mieux une 301 vers mapage.php
 
Nouveau WRInaute
Merci Spout, j'y voit un peu plus clair.
J'ai ajouté AcceptPathInfo off dans mon htaccess et ca resoud apparement le probleme.
Ca va par contre peut-etre m'en poser d'autre ?
Je ne vois pas d'utilisation de /jdshfjdsfgfj apres un nom de fichier dans mon site.
Dans quel cas c'est utilisé ?
 
Discussions similaires
Haut