Redirections sélectives

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

longshot
Nouveau WRInaute
 
Messages: 9
Inscription: Lun Déc 12, 2005 11:53

Redirections sélectives

Message le Mar Déc 13, 2005 11:06

Voilà, je ne sais pas par quel bout prendre la chose:

J'ai mon domaine www.domaine.xx et je voudrais que quand les surfeurs tape un répertoire, www.domaine.xx/le_joli_repertoire_plein ... outes_nues :roll: :oops:

Plus sérieusement www.domaine.xx/repertoire1/ ils soient directement redirigé sur une page php à la racine:

Le but c'est que le nom du répertoire soit comparer a un champ de Base Données et que si il existe dedans, alors la redirection et possible et le lien serai qque chose genre www.domaine.xx/fiche.php?id=x ou x et la valeur associée dans la BD, et si non, soit le répertoire existe et on y entre, soit comme d'hab. page d'erreur.

le .htaccess me permettrai de faire un truc du genre? ou je ferai mieu de poster sur un forum PHP?

Merci d'avance

PS comment on fait quand on inscrit "réponse acceptée" sur une .. bonne réponse?


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Mar Déc 13, 2005 14:50

Pour cela, il te faut mélanger le mod_rewite et un script php, car le mod_rewrite ne peut pas faire de requete SQL. Donc:
Tu fais une règle de la sorte:
RewriteRule ^([^/]+)/(.*)$ /index.php?rep=$1&file=$2
Ce qui te renvoi sur ta page index.php avec:
la variable $_GET['rep'] comme répertoire de base (ton x dans l´exemple)
et $file pouvant etre un fichier ou en tout cas la fin de l´URI.

Après pour le reste, à savoir la correspondance avec la base de donnée, tu dois faire uns script php du style:
$req= mysql_query(requete sql ...SELECT .... WHERE champ=$1)
if(mysql_num_fields)
{
}...
else{
}

longshot
Nouveau WRInaute
 
Messages: 9
Inscription: Lun Déc 12, 2005 11:53

Message le Mar Déc 13, 2005 15:42

Si j'ai bien compris
si le répertoire n'est pas dans la base alors je fais une redirection php type
location: $1 ?
Je ne risque pas de créer une boucle?


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Mar Déc 13, 2005 16:28

$1 est une variable apache...
donc ce sera autre chose. Mais en gros c´est ça.
TU fais une boucle infinie si tu redirige sur un fichier de type rep/...
Il faut soit que tes fichiers soient à la racine, soit que tu indique dans l´URL que celle ci est valide, par exemple avec une variable dans la query string, puis une condition avant la RewriteRule:
RewriteCond %{QUERY_STRING} !lavaleursiURLok
RewriteRule...

longshot
Nouveau WRInaute
 
Messages: 9
Inscription: Lun Déc 12, 2005 11:53

Message le Jeu Déc 15, 2005 10:47

Super Merci!
J'ai pas encore eu le temps de tester, mais grace à ta réponse je pense que ça va être parfait et surtout c'est pleins de principes de base qui font m'aider par la suite.


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 :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité