[RESOLU] Réécriture ET Duplicate Content

WRInaute impliqué
bonjour

suite à mon post https://www.webrankinfo.com/forum/t/html-vers-php-derniere-question.88670/

j'ai un petit soucis:

j'ai mis en place un réécriture d'url car mon site était en html et maintenant il est en php (mais le site est visible par les bots et les visiteurs en HTML)

Code:
RewriteEngine on 
RewriteRule ^(.*)\.html$ /$1.php [L]

le soucis c'est que maintenant, par exemple ma-page.html et ma-page.php sont toute les 2 accessibles et identiques...donc duplicate content

j'fais quoi maintenant pour éviter le duplicate? faut que je redirige mes pages php vers les html ?

j'ai un peu honte d'avoir essayé ceci:

Code:
RewriteEngine on 
RewriteRule ^(.*)\.html$ /$1.php [L]
RewriteRule ^(.*)\.php$ /$1.html [R=301,L]

mais c'était un peu stupide je l'admet...ca tourne en boucle...une bonne idée pour faire cramer un serveur...

un petit coup de pouce svp ?

bonne soiree
 
WRInaute impliqué
audit.referencement a dit:
Je ne sais pas comment tu as organisé ton site et tes pages, mais en fonction tu peux utiliser le robots.txt ou faire une redirection 301.

euh pourquoi le robots.txt?

effectivement je veux faire une redirection 301 mais je n'y arrive pas car les url sont réécrites
 
WRInaute impliqué
Re: Réécriture ET Duplicate Content

webmasterdemonsite a dit:
j'ai un peu honte d'avoir essayé ceci:

Code:
RewriteEngine on 
RewriteRule ^(.*)\.html$ /$1.php [L]
RewriteRule ^(.*)\.php$ /$1.html [R=301,L]

mais c'était un peu stupide je l'admet...ca tourne en boucle...une bonne idée pour faire cramer un serveur...

un petit coup de pouce svp ?

Il suffit d'utiliser le truc de webmasterlamogere (un parametre en plus):

Code:
RewriteEngine on 
RewriteRule ^(.*)\.html$ /$1.php?stop [L]
RewriteCond %{QUERY_STRING} !stop
RewriteRule ^(.*)\.php$ /$1.html [R=301,L]

Il n'y a aucune honte a essayer des trucs entout cas!
 
WRInaute impliqué
MERCI VAP !

ca marche, c'est tres astucieux ... j'aurais jamais pensé a ca...

Miles Merci Vap, tu as l'air de maitriser l'url rewritting à fond! c'est pas mon cas...

tu peux pas savoir comme ton post me fait plaisir !

bonne journée
 
WRInaute impliqué
As tu mis le RedirectPermanent avant les règles de récriture dans ton .htaccess?

Si oui, peux tu donner le contenu de ton .htaccess?

Merci.
 
WRInaute impliqué
Vap a dit:
As tu mis le RedirectPermanent avant les règles de récriture dans ton .htaccess?

Si oui, peux tu donner le contenu de ton .htaccess?

Merci.

j'ai fait ceci:

Code:
RewriteEngine On
RewriteRule ^mon-ancienne-page\.html$ /ma-nouvelle-page.html [R=301,L]
RewriteRule ^(.*)\.html$ /$1.php?stop [L]
RewriteCond %{QUERY_STRING} !stop
RewriteRule ^(.*)\.php$ /$1.html [R=301,L]

ca a l'air de marcher à merveille (en local avec wamp server)

merci encore
 
WRInaute impliqué
webmasterdemonsite a dit:
MERCI VAP !

ca marche, c'est tres astucieux ... j'aurais jamais pensé a ca...

Miles Merci Vap, tu as l'air de maitriser l'url rewritting à fond! c'est pas mon cas...

tu peux pas savoir comme ton post me fait plaisir !

bonne journée

Rendons à César ce qui est à César.

Le truc du paramètre supplémentaire est du a webmasterlamogere, membre de wri. C'est effectivement très astucieux.
 
WRInaute impliqué
par contre avec le code

Code:
RewriteEngine On 
RewriteRule ^mon-ancienne-page\.html$ /ma-nouvelle-page.html [R=301,L] 
RewriteRule ^(.*)\.html$ /$1.php?stop [L] 
RewriteCond %{QUERY_STRING} !stop 
RewriteRule ^(.*)\.php$ /$1.html [R=301,L]

ca me redirige -http://www.monsite.com vers -http://www.monsite.com/index.html

du coup, plus de page rank, et mes liens partenaires pointent vers -http://www.monsite.com et non -http://www.monsite.com/index.html

c'est grave?
 
WRInaute impliqué
J'ai relu le topic :
https://www.webrankinfo.com/forum/t/html-vers-php-derniere-question.88670/

En fait, si tu n'as aucun lien qui pointe vers une adresse qui fini par php, tu n'as pas besoin de rediriger les php vers les html.

Mais bon, si tu insiste, tu peux le faire.

Pour répondre à ta question, je crois que ce qui se passe est :
www.monsite.com/ est interprete par www.monsite.com/index.php, qui est récrit en www.monsite.com/index.html par la deuxième règle, qui a son tour est interprete par www.monsite.com/index.php?stop par la premiere règle.

Il faut donc interdire la deuxième règle quand l'URI est "/", donc l'accepter uniquement quand il y a quelquechose apres le /. Essaie ça (je ne suis pas sur):

Code:
RewriteEngine On
RewriteRule ^mon-ancienne-page\.html$ /ma-nouvelle-page.html [R=301,L]
RewriteRule ^(.*)\.html$ /$1.php?stop [L]
RewriteCond %{REQUEST_URI} !/
RewriteCond %{QUERY_STRING} !stop
RewriteRule ^(.*)\.php$ /$1.html [R=301,L]
 
WRInaute impliqué
salut

merci encore

ca marche avec RewriteCond %{REQUEST_URI} !/index.php


Code:
RewriteEngine On 
RewriteRule ^mon-ancienne-page\.html$ /ma-nouvelle-page.html [R=301,L] 
RewriteRule ^(.*)\.html$ /$1.php?stop [L] 
RewriteCond %{REQUEST_URI} !/index.php
RewriteCond %{QUERY_STRING} !stop 
RewriteRule ^(.*)\.php$ /$1.html [R=301,L]

faut que j'etudie les reecritures conditionnelles, j'ai un peu de mal avec les languages de type script, mon truc avant c'etait un laguage de tres tres bas niveau

merci encore

ce post est tres interessant

merci

bonne journée
 
Discussions similaires
Haut