Problème URL Rewriting complexe avec les dossiers rééls et les autres chemins [Résolu]

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

alifarah7
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 10
Inscription: 16 Juin 2009

Problème URL Rewriting complexe avec les dossiers rééls et les autres chemins [Résolu]

Message le Mar Juin 16, 2009 11:25

Bonjour les webrankinautes :)

Après des recherches dans plusieurs forums et tutoriels je n'ai trouvé que votre forum pour m'aider à résoudre mon problème qui me bloque depuis plus que 3 jours...

Voilà, pour vous mettre dans le contexte, j'ai un site e-commerce dans lequel on peux acheter des produits que j'importe depuis le feed du fournisseur de mon client...j'utilise un cronjob pour mettre à jour ma base de données dans laquelle je stocke mes produits chaque jour...

mes chemins sont les suivants :

chemins rééls, Dossiers rééls (les categories sont 10 + ils ne changeront jamais) :
http://www.monsite.com/categorie1/
http://www.monsite.com/categorie2/
http://www.monsite.com/categorie3/
....

chemins de produits :

les liens de tout les produits :
http://www.monsite.com/categorie/produit1-separateur1/
Régle appropriée : RewriteRule categorie/(.*)-separateur1/$ produits.php?produit=$1&Category=categorie [L]

les liens d'une categorie spéciale => qui amène à une autre page avec une autre disposition (pour des raisons de referncement + c'est le choix du responsable du référencement de mon client) :
http://www.monsite.com/produit1/
Régle appropriée : RewriteRule ([^/]+)/$ produits2.php?produit=$1&Category=categoryspeciale [L]
http://www.monsite.com/produit1-separateur2-location/
Régle appropriée : RewriteRule ([^/]+)/([^/]+)-separateur2-([^/]+)/$ produits2.php?produit=$1&Location=$3&Category=categoryspeciale [L]

mon fichier htaccess :
Code: Tout sélectionner
AddType application/x-httpd-php5 php
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*

<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
Options +FollowSymLinks
RewriteEngine on

RewriteRule categorie/(.*)-separateur1/$ produits.php?produit=$1&Category=categorie [L]
RewriteRule ([^/]+)/$ produits2.php?produit=$1&Category=categoryspeciale [L]
RewriteRule ([^/]+)/([^/]+)-separateur2-([^/]+)/$ produits2.php?produit=$1&Location=$3&Category=categoryspeciale [L]



avec cet htaccess il y a une confusion entre mes dossiers rééls : http://www.monsite.com/categorie1/ et la page de produits de ma categorie speciale : http://www.monsite.com/produit1/

je ne trouve pas comment dire à htaccess d'appliquer la régle : RewriteRule ([^/]+)/$ produits2.php?produit=$1&Category=categoryspeciale [L] dans tous les cas sauf dans les chemins statiques suivants et qui ne sont pas nombreux : http://www.monsite.com/categorie1/ , http://www.monsite.com/categorie2/ , http://www.monsite.com/categorie3/ ....

Je pense que je suis clair là, sinon je suis disponible pour plus d'éclaircissements :)

Merci d'avance pour vos suggestions et conseils...c là ar je commence a perdre l'espoir, ça fait 3 jours que je ne peux pas avancer et j'ai un délai à respecter avec mon client :roll: :|
Dernière édition par alifarah7 le Mar Juin 16, 2009 16:18, édité 1 fois.


fabor
WRInaute discret
WRInaute discret
 
Messages: 152
Inscription: 17 Mar 2005

Re: Problème URL Rewriting complexe avec les dossiers rééls et les autres chemins

Message le Mar Juin 16, 2009 13:09

je ne suis pas sur d'avoir tout compris mais essayes déjà d'intervertir tes 2 dernières lignes car la dernière est plus spécifique et est incluse dans l'avant dernière

alifarah7
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 10
Inscription: 16 Juin 2009

Re: Problème URL Rewriting complexe avec les dossiers rééls et les autres chemins

Message le Mar Juin 16, 2009 16:16

Merci fabor quand même pour ta réponse :)
mais j'ai trouvé la solution :

je ne trouve pas comment dire à htaccess d'appliquer la régle : RewriteRule ([^/]+)/$ produits2.php?produit=$1&Category=categoryspeciale [L] dans tous les cas sauf dans les chemins statiques suivants et qui ne sont pas nombreux : http://www.monsite.com/categorie1/ , http://www.monsite.com/categorie2/ , http://www.monsite.com/categorie3/ ....

=
ajouter la ligne : RewriteCond %{REQUEST_FILENAME} !-d

mon code devient :
Code: Tout sélectionner
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ([^/]+)/$ produits2.php?produit=$1&Category=categoryspeciale [L]


Dans un autre sens, htaccess NE respecte PAS ma condition QUE quand ce n'est pas une adresse physique ce qui est le cas dans l'adresse : http://www.monsite.com/categorie2/

Reste à signaler aussi que après des tests j'ai trouvé qu'il faut aussi mettre la dite ligne de condition + regle à la fin de mon htaccess :
Code: Tout sélectionner
AddType application/x-httpd-php5 php
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*

<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
Options +FollowSymLinks
RewriteEngine on

RewriteRule categorie/(.*)-separateur1/$ produits.php?produit=$1&Category=categorie [L]
RewriteRule ([^/]+)/([^/]+)-separateur2-([^/]+)/$ produits2.php?produit=$1&Location=$3&Category=categoryspeciale [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ([^/]+)/$ produits2.php?produit=$1&Category=categoryspeciale [L]


MERCI A VOUS TOUS...Je suis content youpiiiiiiiii :D


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

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é