chemins et rewritecond .htaccess
10 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
chemins et rewritecond .htaccess
Hello,
Je me demandais si il existe un moyen de verifier par .htaccess que le chemin demandé dans l'url existe bien.
Je m'explique, si j'utilise un règle type :
une requète du type http://example.com/titre-sujetxx.html reverra a la même page que http://example.com/blabli/titre-sujetxx.html
alors que blabli/ n'existe pas.
Du coup j'ai bien essayé en comparant {REQUEST_URI} et {PATH_INFO} dans un rewrite cond, mais ça ne marche pas.
Donc voilà, s'il existe un moyen de verifier que tout ce qui se trouverait entre / (ou /dossier/ avec un rewritebase dossier/) et / dans l'url (blabli se trouve entre / et / ( ou /dossier/ et /)) soit verifié comme faisant bien partie de l'arborescence du site, je suis preneur.
++
Je me demandais si il existe un moyen de verifier par .htaccess que le chemin demandé dans l'url existe bien.
Je m'explique, si j'utilise un règle type :
- Code: Tout sélectionner
RewriteRule [.]*-sujet([0-9]*) /sujet.php?%{QUERY_STRING}&f=$1
une requète du type http://example.com/titre-sujetxx.html reverra a la même page que http://example.com/blabli/titre-sujetxx.html
alors que blabli/ n'existe pas.
Du coup j'ai bien essayé en comparant {REQUEST_URI} et {PATH_INFO} dans un rewrite cond, mais ça ne marche pas.
Donc voilà, s'il existe un moyen de verifier que tout ce qui se trouverait entre / (ou /dossier/ avec un rewritebase dossier/) et / dans l'url (blabli se trouve entre / et / ( ou /dossier/ et /)) soit verifié comme faisant bien partie de l'arborescence du site, je suis preneur.
++
correiaj a écrit:J´oubliais:
tu peux faire avec le .htaccess, mais c´est vraiment pas pratique:
RewriteCond %{REQUEST_URI} /(lesrépertaoires|...|...|...) [NC]
Mais il faut rajouter à chaque création de répertoire....
Ca c'est vraiment très gentil, et en passant heureusement que tu as posté deux fois, parce que j'ai pas eu le premier mail lol.
Enfin, je vais testé cela de suite.
Par contre, je suis loin d'être suffisamment callé, même si je progresse, en php pour bine comprendre ce que tu évoques à propos de récuperer $1 et de voir ...
++
Et merci pour ce code
Ps je viens de tester le code filé ici, et il ne résoud pas le problème :
http://example.com/vraidossier/faudossi ... jetxx.html marche encore en foirant les chemins relatifs.
arf dommage
++
http://example.com/vraidossier/faudossi ... jetxx.html marche encore en foirant les chemins relatifs.
arf dommage
++
ben au lieu de faire:
RewriteRule [.]*-sujet([0-9]*) /sujet.php?%{QUERY_STRING}&f=$1
fait:
RewriteRule(.*)-sujet([0-9]*) /sujet.php?%{QUERY_STRING}&f=$2&URL=$1
$1 te donnera le chemin comp`let demandé.
Après il suffit de faire un teste de la variable $_GET['url'] pour savoir s´il faut exécuter le script, ou renvoyer sur une 404...
du style:
$tes_url=$_GET['url'];
if($test_url=='rep' ou ça ou ça)
{ script de la page}
else
{
renvoie sur une 404..
}
RewriteRule [.]*-sujet([0-9]*) /sujet.php?%{QUERY_STRING}&f=$1
fait:
RewriteRule(.*)-sujet([0-9]*) /sujet.php?%{QUERY_STRING}&f=$2&URL=$1
$1 te donnera le chemin comp`let demandé.
Après il suffit de faire un teste de la variable $_GET['url'] pour savoir s´il faut exécuter le script, ou renvoyer sur une 404...
du style:
$tes_url=$_GET['url'];
if($test_url=='rep' ou ça ou ça)
{ script de la page}
else
{
renvoie sur une 404..
}
arf toujours pas
En fait (j'espère que c pas à cause de easyphp) mais je ne tire rien de 'URL', $HTTP_GET_VARS['URL'] ni $_GET['URL'], du coup pas de test possible.
"URL" est censé être remplis par apache c'est ça?
ou me trompe-je?
Du coup j'ai pas avancé sur les critères qui suivent, je suis pas sur que if($test_url=='rep' ou ça ou ça) suffira, vu que /vraidossier/ est présent dans les deux url (le bonne et la mauvaise), mais il doit y avoir moyen de tester si il n'ay aurait pas un deuxieme "/" après /vraidossier/ vu que je me passe de "/" dans mes titres
Enfin, voili, si tu as encore une tite idée ...
++
En fait (j'espère que c pas à cause de easyphp) mais je ne tire rien de 'URL', $HTTP_GET_VARS['URL'] ni $_GET['URL'], du coup pas de test possible.
"URL" est censé être remplis par apache c'est ça?
ou me trompe-je?
Du coup j'ai pas avancé sur les critères qui suivent, je suis pas sur que if($test_url=='rep' ou ça ou ça) suffira, vu que /vraidossier/ est présent dans les deux url (le bonne et la mauvaise), mais il doit y avoir moyen de tester si il n'ay aurait pas un deuxieme "/" après /vraidossier/ vu que je me passe de "/" dans mes titres
Enfin, voili, si tu as encore une tite idée ...
++
franchement, si tu as d´autres règles, peut être la variable URL en GET est supprimée par apache.
Mais je ne vois pas trop comment t´aider, car je ne sais rien de ce qui se passe chez toi
En tout cas, essaie de comprendre pourquoi les GET ne passent pas.
Mais je ne vois pas trop comment t´aider, car je ne sais rien de ce qui se passe chez toi
En tout cas, essaie de comprendre pourquoi les GET ne passent pas.
correiaj a écrit:franchement, si tu as d´autres règles, peut être la variable URL en GET est supprimée par apache.
Mais je ne vois pas trop comment t´aider, car je ne sais rien de ce qui se passe chez toi
En tout cas, essaie de comprendre pourquoi les GET ne passent pas.
Yep, je suis toujours sur le coup, mais bon pas encore trouvé...
Je poste dès que je trouve.
++
10 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Comment éviter les contenus dupliqués (avec/sans le www)
- Article sur le fichier .htaccess
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- Aperçu des différents types de redirection
- L'URL Rewriting expliqué aux débutants
- Découpage du forum webmaster en 2 forums
- Les changements de Googlebot fin 2003
- Tutoriel complet sur les redirections (301, 302, JavaScript, ...)
- Formation Google Analytics Paris : 2-3 Déc. 2009
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum