Aller au contenu

Sujets conseillés

Posté

Bonjour a tous,

jai beau chercher une solution a un problème de redirection mais malheureusement rien (même pas dans vos deux excellents articles sur le sujet)

je vous expose le problème:

jai modifié les liens sur mon site pour que le titre ou une partie du titre des articles soient présents dans les liens vers les article :

Exemple :

Larticle sous le liens :

www.monsite.fr/news/index.php?id=234 (A)

a le titre : « mod_rewrite : couteaux suisse dapache»

Jai modifié donc tout les liens qui mènent vers la page de cet article pour avoir :

www.monsite.fr/news/couteux_suisse_apache-234.html (B)

je transforme cet URL avec un simple :

RewriteEngine on

RewriteRule ^([a-z0-9_]+)-([0-9]+)\.html index.php?storyid=$2

Pour récupérer (A). Ceci a lieu sans problème.

Le soucis est que je voudrais que la redirection ait lieu vers (A) sans pour autant changer la valeur saisie par le visiteur ou issu du liens. Donc garder (B) dans la barre dadresse dans le browser.

Merci de votre aide et bonne continuation

Posté

Salut,

Il se peut que le flag par défaut soit la redirection temporaire.

Tu devrais essayer en ajoutant le flag Last.

RewriteEngine on
RewriteRule ^([a-z0-9_]+)-([0-9]+)\.html index.php?storyid=$2 [L]

Marc

Posté
Salut,

Il se peut que le flag par défaut soit la redirection temporaire.

Tu devrais essayer en ajoutant le flag Last.

RewriteEngine on
RewriteRule ^([a-z0-9_]+)-([0-9]+)\.html index.php?storyid=$2 [L]

Marc

Merci Marc pour ta réponse mais malheureusement ce flag ne le fait pas. j'ai essayé aussi avec [R,L] mais malheureusement rien.

le problème est que je sais que c'Est faisable. je me demande si c'est pas plutôt avec Redirect qu'avec RewriteRule

Posté

Normalement le comportement devrait être celui que tu décris.

Ce n'est pas normal.

N'y aurait-il pas d'autres règles?

Pourrais tu envoyer ton .htacess en entier STP

Essaie également en ajoutant une ligne du type:

RewriteRule ^index.php?.*$ - [L]

RewriteEngine on
RewriteRule ^index.php?.*$ - [L]
RewriteRule ^([a-z0-9_]+)-([0-9]+)\.html index.php?storyid=$2 [L]

Posté
Normalement le comportement devrait être celui que tu décris.

Ce n'est pas normal.

N'y aurait-il pas d'autres règles?

Pourrais tu envoyer ton .htacess en entier STP

Essaie également en ajoutant une ligne du type:

RewriteRule ^index.php?.*$ - [L]

RewriteEngine on
RewriteRule ^index.php?.*$ - [L]
RewriteRule ^([a-z0-9_]+)-([0-9]+)\.html index.php?storyid=$2 [L]

mon .htacess est exactement comme tu l'as sasie

RewriteEngine on
RewriteRule ^index.php?.*$ - [L]
RewriteRule ^([a-z0-9_]+)-([0-9]+)\.html index.php?storyid=$2 [L]

:smartass:

les autres .htaccess n'ont aucune influence sur ce répertoire.

quand tu dis le comportement doit être comme celui que j'ai cité, tu veux dire que c'est l URL saisit (B) qui doit apparaitre après redirection vers le vrai URL(A)?

Posté

Pour que l'URL change, c'est qu'il y a un redirect.

Or normalement il n'y a pas de redirect (sauf si : [R] ou si lien externe).

As tu essayer de déclarer un RewriteBase ?

Pourrais tu envoyer ton URL exacte pour faire un test de code retour ?

Pourrais tu essayer en ajoutant un "/" avant le "index".

RewriteEngine on
RewriteRule ^index.php?.*$ - [L]
RewriteRule ^([a-z0-9_]+)-([0-9]+)\.html /index.php?storyid=$2 [L]

Marc

Posté

le contenu de mon .htaccess est exactement comme dans ton message:

RewriteEngine on
RewriteRule ^index.php?.*$ - [L]
RewriteRule ^([a-z0-9_]+)-([0-9]+)\.html /index.php?storyid=$2 [L]

et la redirection a bien lien avec changement de liens dans la barre d'adresse aussi.

j'ai mis un RewriteBase mais ca n'a rien changé

qu'est ce que tu entends par:

Pourrais tu essayer en ajoutant un "/" avant le "index".?

Merci pour ton aide

Posté

Dans ta règle tu as mis:

RewriteRule ^([a-z0-9_]+)-([0-9]+)\.html index.php?storyid=$2 [L]

essaie avec

RewriteRule ^([a-z0-9_]+)-([0-9]+)\.html /index.php?storyid=$2 [L]

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...