Aller au contenu

Sujets conseillés

Posté

Bonjour,

Après avoir beaucoup lu de posts sur la redirection 301, je n'arrive toujours pas à faire fonctionner :

RewriteRule ^modules.php?name=News http://www.monsite.com/archives.html [R=301,L]

Quand j'enlève "?name=News" cela fonctionne parfaitement, je tombe bien sur ma page en html..

Le problème semble venir du "?" ou du "=", non ? Je pensais qu'en mettant un "\" devant cela échapperait le caractère, mais il n'en est rien :fou:

Merci de bien vouloir m'aider.

:)

Posté

Salut, essaye

RewriteRule ^modules.php?name=News /archives.html [R=301,L]

RewriteRule ^modules.php?name=News archives.html [R=301,L]

ou encore

RedirectPermanent /modules.php?name=News http://www.monsite.com/archives.html [R=301,L]

;)

Posté (modifié)

Je crois (pas sûr à 100%) que le QSA (?name=News) n'est pas géré au niveau du .htaccess

Pourquoi est ce que tu ne fais pas plutôt une redirection via php dans le fichier module.php ???

Modifié par jeroen
Posté
Salut, essaye

RewriteRule ^modules.php?name=News /archives.html [R=301,L]

RewriteRule ^modules.php?name=News archives.html [R=301,L]

ou encore

RedirectPermanent /modules.php?name=News http://www.monsite.com/archives.html [R=301,L]

;)

<{POST_SNAPBACK}>

salut,

parce que j'ai lu que niveau désindexation ce n'était pas terrible. En fait je souhaite que mes anciennes pages sous forme php soient désindexées par les MR au profit des pages rewritées, en html.

Si tu fais une redirection dans le fichier php (style le header pour phpnuke), les MR gardent une trace de ces pages php...

Posté

RewriteRule ^modules.php?name=News http://www.monsite.com/archives.html [R=301,L]

Là tu fais une règle dans laquelle tu dis que ?name=News fait partie du nom de fichier, alors qu'il fait partie du Query String.

Tu ne pourras donc jamais avoir de règle qui validera.

La solution est de rediriger modules.php vers une nouvelle page, en ajoutant le flag QSA (Query String Append) en la fin de règle. Mais il faudra que cette nouvelle page puisse traiter l'information, et qu'elle soit donc écrite en php.

Dan

Posté

Salut,

Je viens de tester : c'était bien ça.

J'ai donc de la réécriture en vue :)

Un grand merci à tous !

Bonne continuation !

:D

Posté (modifié)
La solution est de rediriger modules.php vers une nouvelle page, en ajoutant le flag QSA (Query String Append) en la fin de règle. Mais il faudra que cette nouvelle page puisse traiter l'information, et qu'elle soit donc écrite en php.

Dan

heu, c'est ce que je préconisais, non ??

Question : pourquoi traiter ça au niveau du .htaccess si faiu le retraiter derrière via php ?

il suffit simplement de faire dans modules.php

<?php
if ($_GET['name']=="News")
{
... (redirection)
}
...
?>

Modifié par jeroen
Posté
heu, c'est ce que je préconisais, non ??

Question : pourquoi traiter ça au niveau du .htaccess si faiu le retraiter derrière via php ?

il suffit simplement de faire dans modules.php

Oui, c'est bien ce que tu disais... à peu de choses près :lol:

Quant-à faire la redirection dans modules.php lutôt que .htaccess, le tout est de savoir sur combien de fichiers elle s'applique.

En général, on donne une règle en exemple mais on vise plusieurs fichiers... surtout dans le cas de redirections 301. ;)

Dan

Posté
<?php
if ($_GET['name']=="News")
{
... (redirection)
}
...
?>

En fait, je n'avais pas compris ta première intervention alors que tu étais dans le vrai. Ton code m'intéresse :blush: , tu veux toujours bien m'aider ?

;)

à la place de (redirection) je mets quoi pour aller vers http://www.monsite.com ?

Marci !

Veuillez vous connecter pour commenter

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



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