chemins et rewritecond .htaccess
10 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- dcz
- WRInaute impliqué

- Messages: 722
- Inscription: 2 Mar 2005
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.
++
- dcz
- WRInaute impliqué

- Messages: 722
- Inscription: 2 Mar 2005
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
- dcz
- WRInaute impliqué

- Messages: 722
- Inscription: 2 Mar 2005
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
++
-

correiaj - WRInaute passionné

- Messages: 1110
- Inscription: 25 Avr 2005
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..
}
- dcz
- WRInaute impliqué

- Messages: 722
- Inscription: 2 Mar 2005
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 ...
++
-

correiaj - WRInaute passionné

- Messages: 1110
- Inscription: 25 Avr 2005
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.
- dcz
- WRInaute impliqué

- Messages: 722
- Inscription: 2 Mar 2005
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 :
- Redirection RewriteCond %{THE_REQUEST} htaccess
- RewriteRule ou RewriteCond dans .htaccess ?
- .htaccess besoin de précisions sur RewriteCond
- Chemins d'entrées
- Chemins relatifs et référencement
- file_exists et chemins absolu
- Chemins relatifs, l'erreur fatale
- Espace dans les chemins d'accés
- Comprendre la fréquence et les chemins de google bot
- Wordpress : dissimuler les chemins typés WP dans la source
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
