Forcer le rewriting même sur la page en question?

  • Auteur de la discussion Auteur de la discussion Pouzy
  • Date de début Date de début
WRInaute passionné
Bonjour à tout le monde :)

Mon titre paraît sûrement un peu flou au premier abord... Mais je m'explique.

Je m'apprête à changer de nom de domaine, et j'en profite pour refaire le site en entier, la structure, etc, et donc les URLs.

J'ai donc actuellement sur le site certaines urls de type news.php?cat=12. Sur le nouveau nom de domaine, je rewrite /news/12 vers news.php?cat=12, donc les visiteurs accèdent via /news/12

Y a-t-il moyen pour que la page news.php soit redirigée vers /news en 301, qui elle même rewrite vers /news.php ? Donc que si un visiteur tape /news.php?cat=12, il soit redirigé via 301 sur /news/12 ?

(En gros, que l'on ne puisse pas accèder à news.php directement, mais que cela redirige automatiquement vers /news.. peut être avec {USER_AGENT} ?)

Merci! :)
 
WRInaute passionné
heuu à moins que j'ai mal compris mais il me semble que c'est le principe même de la redirection 301 !

Code:
RewriteRule ^news\.php?cat=([0-9]+) http://www.nouveaudomain.com/news/$1 [R=301,L]

code pas testé mais ça ne doit pas être ci différent que ça ;)

edit : le code ci-dessus est à placé sur l'ancien domaine biensure ;)
 
WRInaute passionné
Et là il va avoir droit à un beau rewrite infini, non ?

Perso je traite la redirection 301 en php directement dans la page news.php, en testant la variable $_SERVER["REQUEST_URI"]
 
WRInaute passionné
Coucou et merci a vous deux,

C'est vrai aladdin, je pourrais le faire de cette facon d'un domaine a un autre, mais je pense plutot faire une redirection type domaine1/(.*) => domaine2/(.*)

Ma question permettrait de prevenir le duplicate content sur un meme domaine, pour etre sur de ne pas pouvoir acceder a la page non rewritee.

Pour jeroen, comment fais tu exactement? Tu testes dans la page si REQUEST_URI contient un ? ou un & ?

Merci :mrgreen:
 
WRInaute passionné
Pouzy a dit:
Pour jeroen, comment fais tu exactement? Tu testes dans la page si REQUEST_URI contient un ? ou un & ?

Merci :mrgreen:

Tu peux tester si le REQUEST_URI contient "news.php" puisque cette page ne devra jamais être appelé de la sortie, et si c'est le cas tu redirige en 401 vers l'URL qui va bien !
 
WRInaute passionné
Coucou,

J'ai essaye, j'ai peut etre fait quelquechose differemment...

Voici ma redirection:

Code:
RewriteRule ^news/$ /news.php [L]
RewriteCond %{REQUEST_URI} ^/news.php
RewriteRule ^news.php$ /news/ [R=301,L]

Et j'ai un beau:

This web page has a redirect loop.

Mais c'est tout a fait dans l'espit de ce que je souhaite faire :mrgreen:
Me suis-je rate dans le code?

Merci :)

(Desole pour les accents, je suis sur un clavier anglais)
 
WRInaute passionné
tu demande news/ > redirection vers news.php
a partir de ce moment, la page news.php est demandée et redirige vers news/

Bref, beau loop :wink:
 
WRInaute passionné
pas sure d'avoir compris ce que tu souhaite faire exactement mais voici une piste

Code:
RewriteCond %{HTTP_HOST} !^www.domaine1.com$ [NC]     
RewriteRule ta règle de redirection du domaine 1 vers domaine 2 [L,R=301]  # la redirection va s'appliquer uniquement si la page est appellée à partir de www.domaine1.com

RewriteCond %{HTTP_HOST} !^www.domaine2.com$ [NC]
RewriteRule ta règle de redirection du domaine 2 vers X [L,R=301] # la redirection va s'appliquer uniquement si la page est appellée à partir de www.domaine2.com
 
WRInaute passionné
Coucou et merci à vous deux.

Comme je l'ai dit, j'aimerai en fait empecher l'accès à la page réelle sans le rewriting, pour éviter le duplicate content. Mais en dernier recours j'utiliserai la version d'aladdin. :)

Pour jeroen, ce n'est pas ce que tu m'as dit de faire pourtant? Si REQUEST_URI = news.php, ce n'est pas /news! Donc je pensais que la boucle n'aurait pas lieu... :( Oups.

Aucune idée pour éviter cette boucle? Suis-je le seul à vouloir éviter le duplicate? :mrgreen:
 
WRInaute passionné
bah si c'est juste pour la duplicate utilise un <link rel=canonical ...
plus simple à mettre en place, et pas besoins de se tordre l'esprit pour trouver tous les cas de duplicate possibles :p
 

➡️ 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