Url htaccess

Résolu/Fermé
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 - 23 août 2016 à 20:03
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 - 23 août 2016 à 21:45
Bonjour,
par exemple j'ai une URL du type
www.site.com/page.php

si un petit malin tape
www.site.com/page.php/nimportequoi ou www.site.com/page.php?coco ou www.site.com/page.php/

j'aimerai que ca redirige soit
- vers un 404 (pas trop souhaitable)
- soit vers page.php (plus souhaitable)
évidemment pour toutes les pages
j'ai aussi une section du site avec un repertoire
(www.site.com/repertoire/page.php)

je n'utilise pas de cms ni de variables d'url en post ou get

quelqu'un aurais une solution avec .htaccess ?

Merci d'avance




1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
23 août 2016 à 20:17
'lut,
il y a un problème avec ce que tu veux.
En effet
www.site.com/page.php?coco
est une URL parfaitement valide pointant sur ta page avec comme paramètre
coco
. Interdire cela serait idiot.
De plus,
www.site.com/page.php/
et
www.site.com/page.php/nimportequoi
, bien qu'invalides au sens strict du système de fichier, est généralement interprété de manière valide par les serveurs web et aux yeux du script PHP c'est comme si "nimportequoi" était aussi un paramètre d'URL (bien qu'il n'en soit pas un), n'ayant donc pas d'influence sur la page envoyée au navigateur (si rien dans le script n'agit en fonction).

Le cas des pages/dossiers effectivement non existants peut tout simplement être géré en définissant l'URL de page.php comme celle a afficher lors d'un 404 via
ErrorDocument 404 /page.php
0
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 738
Modifié par animostab le 23/08/2016 à 21:49
Re merci pour ta réponse

mais je le savais déjà que php interprète comme un parametre d'url

pour le 404 c'est géré.

mais par exemple sur ma search console google j'ai 2 title et description identique qui viennent d'url à la con de ce genre et identique à la bonne url (d'ailleurs l'url à la con est referenceé par google !!!)
pourtant pas d'erreur de ce genre d'url dans mon sitemap.
evidemment comme tous les liens et appels aux script et css sont en relatifs css scripts et liens sont invalides quand l'url à la con s'affiche.

il n'y a pas moyen surtout pour le page.php/nimportequoi de faire un rewrite avec htaccess pour toutes les pages ? (désolé les regex dans htaccess c'est pas mon fort)
merci
0