probleme de url rewriting et sousdomaine

  • Auteur de la discussion Auteur de la discussion Island
  • Date de début Date de début
WRInaute discret
Bonjour,
je cherche à reecrire un url par ex: de cette forme -http://sousdomaine.example.com/index.php?a=1&b=2&c=3&d=titre&e=nom
à -http://sousdomaine.example.com/nom/titre/321-motcle.htm

j'ai mis dans .htaccess (existe au racine du site et pas dans le dossier de sousdomaine)

Code:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteRule ([a-z]+)/(([a-z]+)/([0-9]+)([0-9]+)([0-9]+)-motcle\.htm /sousdomaine/index.php?a=$5&b=$4&c=$3&d=$2&e=$1 [L]

mais ça marche pas, j'ai tj une erreur 500
une idée svp ?

merci d'avance
 
WRInaute impliqué
Les rewriterules d'un sous domaines doivent se trouver dans le dossier du SD.

Comme il semble que dans ton cas le dossier physique du SD soit celui du domaine, il te faut à chaque fois tester l'url demandée pour voir si elle demande le SD avant de lui appliquer la rewriterule.

Un truc du genre :
Code:
RewriteCond %{HTTP_HOST} ^sous-domaine\.example\.com$ [NC]

avant chaque rewriterule concernant le SD.

++
 
WRInaute discret
ça marche pas
j'ai mis ça dans le .htaccess (qui existe au racine de site et pas dans le dossier de sous domaine)

Code:
Options +FollowSymlinks 
RewriteEngine On 
RewriteBase / 

RewriteCond %{HTTP_HOST} ^sous-domaine\.example\.com$ [NC]
RewriteRule ([a-z]+)/(([a-z]+)/([0-9]+)([0-9]+)([0-9]+)-motcle\.htm$ /sousdomaine/index.php?a=$5&b=$4&c=$3&d=$2&e=$1 [L]

y a il des erreurs dans mon .htaccess ?
 
WRInaute discret
j'ai cherché 2 jours, enfin j'ai tourvé qu'il me manque juste d'ajouter un "http://" dans cette ligne :

RewriteCond %{HTTP_HOST} !^http://sous-domaine\.example\.com$ [NC]

pfff
 
WRInaute occasionnel
Juste pour info, si l'une des trois variables contient plus d'1 chiffre, c'est la première variable qui en profitera toujours :
([0-9]+)([0-9]+)([0-9]+)

Disons que tu as a=10 b=34 c=2, dans ton exemple, l'url rewritée donnera xxx/23410-motcle.htm
et le rewrite découpera ça ainsi :
....php?/a=0&b=1&c=234&d=...

en fait, le premier [0-9]+ va essayer de regrouper le maximum de chiffres tout en satisfaisant les deux [0-9]+ suivants, qui donc ne contiendront systématiquement qu'un seul chiffre.

Il te faudrait revoir ton url rewriting pour différencier un peu mieux a=, b= et c=.
 
WRInaute impliqué
Island a dit:
j'ai cherché 2 jours, enfin j'ai tourvé qu'il me manque juste d'ajouter un "http://" dans cette ligne :

RewriteCond %{HTTP_HOST} !^http://sous-domaine\.example\.com$ [NC]

pfff

je dirais pas que c'est une solution et oui, ta rewriterule est un peu olé olé ;)
 
WRInaute discret
ChezThierry, justement, je les'ai séparé par un ","

dcz, tu as d'autres solutions ? je suis preneur :)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut