Suivez les fils RSS
 
Auteur
yank
# 14 Mar 2010 - 15:22:04
Citer
544 Posts
Bonjour à tous.

Je ne parviens pas à faire une redirection 301 correcte.

Voici un extrait de mon htaccess :


# 404
ErrorDocument 404 http://www.mondomaine.fr/404
# URL REWRITING
RewriteEngine On
RewriteBase /
RewriteRule ^page1$ index.php?page=1 [L]
RewriteRule ^page2$ index.php?page=2 [L]
# FORCE WWW
RewriteCond %{HTTP_HOST} ^mondomaine.fr$
RewriteRule ^(.*) http://www.mondomaine.fr/ [QSA,L,R=301]


Donc en gros, j’ai réussi à activer url rewriting sur un serveur mutualisé 1&1, les pages se renomment bien proprement (sans le index.php?page=) mais j’ai essayé pas mal de méthodes pour faire en sorte que si je tape l’adresse de la page avec l’ancien non : « index.php?page=1″ quelle soit redirigé vers « page1″ automatiquement.

Comment faire ?

5 MINUTES + TARD

Je viens de réussir à faire une redirection 301 mais ce n’est pas encore parfait.

J’ai rajouté ceci :


# version .htaccess
RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ (/.*)?/index.(htm|html|php|asp)
RewriteRule ^(.*)index.(htm|html|php|asp)$ /$1 [R=301,L]


Ma page « http://www.mondomaine.fr/index.php?=page1″ est redirigé vers « »http://www.mondomaine.fr/?=page1″

Pas encore ça … :\

Une solution ?

Merci biggrin
Modifié par yank (14 Mar 2010 - 16:15)

http://www.yank.fr 
^
Heyoan
# 14 Mar 2010 - 16:04:57
Citer
Modérateur
8101 Posts
Salut,

j'ai pas trop le temps donc j'ai lu en diagonale mais la redirection 301 devrait être placée en premier et être du style :
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domaine.com$
RewriteRule ^(.*) http://www.domaine.com/$1 [QSA,L,R=301]
RewriteRule ... le reste


^
yank
# 14 Mar 2010 - 16:27:48
Citer
544 Posts
Merci quand même, mais cela ne change rien...

Ma redirection 301 fonctionne bien sur mon site concernant le www, mais pas pour les pages :

Actuellement les 2 sont accessibles :


http://www.monsite.fr/index.php?page=test
http://www.monsite.fr/test


Or je ne veux que :

http://www.monsite.fr/test

Une idée ?

Je remets mon htacess :


ErrorDocument 404 http://www.monsite.fr/404

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^monsite.fr$
RewriteRule ^(.*) http://www.monsite.fr/$1 [QSA,L,R=301]

RewriteRule ^test$ index.php?page=test [L]


http://www.yank.fr 
^
Heyoan
# 14 Mar 2010 - 16:50:36
Citer
Modérateur
8101 Posts
yank a écrit :
Actuellement les 2 sont accessibles :


http://www.monsite.fr/index.php?page=test
http://www.monsite.fr/test
Euh... ben c'est normal que les 2 soient accessibles : c'est à toi de faire en sorte que les liens aient la forme voulue (dans le menu de navigation notamment). murf
Modifié par Heyoan (14 Mar 2010 - 16:51)

^
yank
# 14 Mar 2010 - 16:59:26
Citer
544 Posts
Heyoan a écrit :
Euh... ben c'est normal que les 2 soient accessibles : c'est à toi de faire en sorte que les liens aient la forme voulue (dans le menu de navigation notamment). murf


^^

Je d'accord avec toi cligne

Mais mon soucis ne vient pas de la : j'ai bien actualisé mes liens internes pas de soucis.

Mais quand je tape à la main l'adresse j'y accède, en gros pour les moteurs de recherches j'ai 2 pages :

http://www.monsite.fr/test
et
http://www.monsite.fr/index.php?page=test

je veux en supprimer une des 2 pour éviter le duplicate content et ce serait plus propre aussi comme cela.

J'ai réussi tout à l'heure à moitié, c'est à dire quand je tapais (à la main)
http://www.monsite.fr/index.php?page=test le navigateur me renvoyait :
http://www.monsite.fr/?page=test

Moi je veux http://www.monsite.fr/test uniquement.

biggol

http://www.yank.fr 
^
Heyoan
# 14 Mar 2010 - 17:04:52
Citer
Modérateur
8101 Posts
yank a écrit :
Mais quand je tape à la main l'adresse j'y accède, en gros pour les moteurs de recherches j'ai 2 pages
Hem... pouf pouf ! langue

A partir du moment où tu fais de l'urlrewriting pour transformer une url A en url B les urls A et B sont forcément accessibles toutes les 2 lorsqu'on les saisit à la main !

Concernant les moteurs de recherche ils mettent à jour régulièrement les cartes des sites et donc si tu n'as plus que l'url A de disponible l'url B ne sera plus considérée comme existante.


Edit: Par exemple on peut saisir
http://forum.alsacreations.com/topic-20-47425-1-Url-Rewriting--Redirection-301.html
OU
http://forum.alsacreations.com/topic.php?fid=20&tid=47425
Modifié par Heyoan (14 Mar 2010 - 17:10)

^
yank
# 14 Mar 2010 - 17:13:42
Citer
544 Posts
Heyoan a écrit :
Hem... pouf pouf ! langue

A partir du moment où tu fais de l'urlrewriting pour transformer une url A en url B les urls A et B sont forcément accessibles toutes les 2 lorsqu'on les saisit à la main !

Concernant les moteurs de recherche ils mettent à jour régulièrement les cartes des sites et donc si tu n'as plus que l'url A de disponible l'url B ne sera plus considérée comme existante.

lol Pouf Pouf

Je suis entièrement d'accord avec ce que tu dis et oui je pense que Mr Google va zapper l'ancienne version de mes pages d'ici quelques mois, et je peux même l'aider avec des Canonical si je suis parano ravi mais tout ça ne répond pas à ma question :

Comment faire ma redirection 301 via htaccess pour faire en sorte que mes 2 pages ne pointent plus que sur 1 seule.

Mais merci quand même pour ton aide smile

http://www.yank.fr 
^
Heyoan
# 14 Mar 2010 - 17:20:04
Citer
Modérateur
8101 Posts
yank a écrit :
Comment faire ma redirection 301 via htaccess pour faire en sorte que mes 2 pages ne pointent plus que sur 1 seule.
C'est déjà le cas avec ta redirection 301 dans le .htaccess ! fou

Bon, comme plus ça va et moins je comprends ce que tu dis je pense que je vais en rester là... à moins que tu ne me redises tout ça en créole (réunionnais de préférence) ! biggol

^
yank
# 14 Mar 2010 - 17:27:37
Citer
544 Posts
Heyoan a écrit :
C'est déjà le cas avec ta redirection 301 dans le .htaccess ! fou

Bon, comme plus ça va et moins je comprends ce que tu dis je pense que je vais en rester là... à moins que tu ne me redises tout ça en créole (réunionnais de préférence) ! biggol


biggol Je vais de ce pas apprendre le réunionnais !

lol

http://www.yank.fr 
^
yank
# 15 Mar 2010 - 15:58:32
Citer
544 Posts
Je refais un essai ... des fois que ravi

Voici mon pti bout de code HTACCESS


# Redirection 301
RewriteCond %{HTTP_HOST} ^monsite.fr$
RewriteRule ^(.*) http://www.monsite.fr/$1 [QSA,L,R=301]
# Rewrite
RewriteRule ^super$ index.php?page=super [L]


On est d'accord, dans un 1er temps je fais une redirection sur le nom de domaine, donc http://monsite.fr sera redirigé automatiquement vers http://www.monsite.fr.

Ensuite je fais de l'url rewriting pour renommer une page donc la page http://www.monsite.fr/index.php?page=super est accessible également à présent via http://www.monsite.fr/super.

Jusque la c'est cool lol tout va bien.

--

Maintenant ce que je veux appliquer à ma page "super", est le même principe que la redirection pour le "www".

C'est à dire que si je tape http://www.monsite.fr/index.php?page=super (qui est toujours accessible) je veux que cette page soit redirigé vers http://www.monsite.fr/super.

Je pense que cela est possible ?

Parce que pour le moment j'ai fait de l'url rewriting pour les pages mais pas de redirection 301 (sauf pour le sous-domaine www ...)

Je me trompe ?
Modifié par yank (15 Mar 2010 - 15:59)

http://www.yank.fr 
^
Heyoan
# 15 Mar 2010 - 16:23:40
Citer
Modérateur
8101 Posts
yank a écrit :
JJe pense que cela est possible ?
Ben non : tu ne peux pas simultanément avoir une règle qui réécrit une url A en url B et une autre qui réécrit une url B en url A. murf

^
yank
# 15 Mar 2010 - 16:33:24
Citer
544 Posts
Heyoan a écrit :
Ben non : tu ne peux pas simultanément avoir une règle qui réécrit une url A en url B et une autre qui réécrit une url B en url A. murf

Ok ... je vois.

Mais dans ce cas alors, pourquoi en rajoutant ce code, j'ai réussi à avoir un semblant de redirection :


RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ (/.*)?/index.(htm|html|php|asp)
RewriteRule ^(.*)index.(htm|html|php|asp)$ /$1 [R=301,L]


En gros ma page http://www.monsite.fr/index.php?page=super se transformait en http://www.monsite.fr/?page=super donc presque ce que je veux obtenir.

Donc au final, si la méthode si dessus ne fonctionne pas, il n'y a aucune solution ?

J'ai l'impression de ne pas tout saisir (et je pense que tu l'as remarqué ravi ), la vague impression de ne pas avoir le choix :

- Soit on fait une redirection 301
- Soit Url Rewriting

Mais les 2 en même temps posent problème ...
Modifié par yank (15 Mar 2010 - 16:35)

http://www.yank.fr 
^
Heyoan
# 16 Mar 2010 - 11:08:22
Citer
Modérateur
8101 Posts
yank a écrit :
- Soit on fait une redirection 301
- Soit Url Rewriting

Mais les 2 en même temps posent problème ...
Ben surtout je ne vois pas pourquoi tu fais une nuance entre les 2 : c'est juste des flags différents mais ça reste de l'urlrewriting (qui commence par RewriteRule).

A lire : 4 articles sur le htaccess.

^
yank
# 16 Mar 2010 - 11:57:45
Citer
544 Posts
Heyoan a écrit :
Ben surtout je ne vois pas pourquoi tu fais une nuance entre les 2 : c'est juste des flags différents mais ça reste de l'urlrewriting (qui commence par RewriteRule).

A lire : 4 articles sur le htaccess.

Merci pour ton lien.

Je vais me retirer dans ma caverne pour le moment et méditer un peu tout ça cligne

http://www.yank.fr 
^