Interpréter littéralement un: ? (Redirection free)

YSonic

WRInaute occasionnel
Après plusieurs essais, mon problème consiste en réalité à ce que le point d'interrogation de l'url à rediriger soit bien pris en compte.

Il faudrait trouver la correspondance du caractère littéral je pense, mais échapper en faisant "\?" ne fonctionne pas, tout comme "%3F" ne fonctionne pas... Savez-vous quel code doit être mis? :?


Bonjour,

suite au récent article d'Olivier sur le référencement des blogs, j'ai déterré le mien pour tester 2 ou 3 astuces qu'il y évoquait pour mon blog dotclear hébergé chez free.

Entre autres, j'ai désormais un changement des formes de mes urls, mais j'en ai profité pour diminuer le nombre de mots à 3 maxi.

Exemple:
-http://yamisonic.free.fr/blog/?2006/04/25/17-mon-message-de-haine-en-cette-fin-d-annee-estudiantine
devient
-http://yamisonic.free.fr/blog/?spam-concours-depression

Comme le nombre de billets (tout comme le nombre possibilités offertes par le .htaccess de .free :p) est limité, j'ai voulu faire des RedirectPermanent individuels, comme ceci à la racine de mon site:
Code:
RedirectPermanent /blog/?2006/04/25/17-mon-message-de-haine-en-cette-fin-d-annee-estudiantine http://yamisonic.free.fr/blog/?spam-concours-depression

Seul problème, ça ne fonctionne absolument pas, alors que pour d'autres pages (en dehors du blog mais toujours sur ce site) celà fonctionne très bien...

Une idée?

Merci d'avance ;)
 

YSonic

WRInaute occasionnel
Après avoir vérifié sur plusieurs pages, le résultat reste le même. Les pages avec les anciennes urls ne sont pas redirigées, et en plus elles affichent les billets pour le jour donné (/blog/?2006/01/01/57-blabla ou /blog/?2006/01/01 sont exactement la même page).

Vive le duplicate content! :p

Personne? (Je me permets de remonter le sujet car Google Bot est assez friand de ce blog donc j'aimerai éviter qu'il passe trop souvent sans les redirections...)
 

KOogar

WRInaute accro
pas tout compris la, le mode rewrite n'est pas actif chez free, donc ??
j'ajoute aussi qu'un fichier avec un nom comme celui ci : mon-message-de-haine-en-cette-fin-d-annee-estudiantine sera assimiler a du spam => declassement ou blacklistage a l'horizon
 

YSonic

WRInaute occasionnel
C'est un petit blog lancé sur free donc non pas d'url rewrite, sinon j'aurais vite réglé le problème. :p

Pour les urls à rallonge, ça ne pose pas de problème actuellement (surtout que je ne cherche pas sépcialement à être concurentiel sur mes coups de gueule) mais suite à l'article d'Oliver sur le référencement des blogs, j'essaye quelques trucs d'optimisation.

Pour résumer:
- hébergement free avec RewriteEngine Off
- blog propulsé par Dotclear
- url en mode query string (avec le ? dans l'url, encore pour une raison d'hébergement)
- les urls à rallonge avec les dates/numéro de billet sont rempalcées par des urls à 3 mots maxi
- les anciennes urls donnent maintenant la page correspondant au listing des billets pour la date indiquée en début d'url (risque de duplicate content très important)

Ce que je ne comrpends pas, c'est pourquoi des lignes de mon /htaccess comme:
Code:
RedirectPermanent /blog/?2006/04/25/17-mon-message-de-haine-en-cette-fin-d-annee-estudiantine http://yamisonic.free.fr/blog/?spam-concours-depression
ne marchent pas, alors que des lignes telles que:
Code:
RedirectPermanent /accueil.htm http://yamisonic.free.fr/
fonctionnent bien...

Merci d'avance.
 

KOogar

WRInaute accro
la syntaxe est correcte
- peut-etre un retour à la ligne qui traine ??
- ca c'est bon => ?2006/04/25 ?? ca serait pas mieux de mettre => ?2006-04-25
 

YSonic

WRInaute occasionnel
L'url /blog/?2006/04/25/17-mon-message-de-haine-en-cette-fin-d-annee-estudiantine est qui était utilisée jusqu'il y a 3 jours, c'est le modèle par défaut de dotclear.

C'est justement parce que ce modèle ne correspond pas en terme d'optimisation à une url bien faite qu'il faut maintenant que je la redirige vers /blog/?spam-concours-depression
 

YSonic

WRInaute occasionnel
Personnellement, j'ai laissé tombé et ajouté à la page d'index du blog les redirections 301 à faire directement dans le code... :/
 

YSonic

WRInaute occasionnel
Dans /index.php, j'ai modifié la section des headers renvoyés par dotclear, soit juste après les commentaires
Code:
# En-têtes et prologue
# Envoie des en-tête HTTP

Ensuite, au cas par cas j'ai créé une condition de redirection si l'url est à rediriger. Ex:
Code:
if ($_SERVER[argv][0]=='2005/12/03/12-lettre-d-un-geek-au-pere-noel') {
header('HTTP/1.1 301 Moved Permanently', false, 301);
header('Location: http://yamisonic.free.fr/blog/?geek-pere-noel');
exit(); }

C'est quand même une solution très "Mc Gyver". :p
 

amazigh25

WRInaute impliqué
Salut
argv ?
je comprend pas !

Le code que j'utilise est celui là, j'arrive pas à trouver l'erreur, puisque ça marche pas !

Code:
$url = $SERVER["REDIRECT_QUERY_STRING"];
echo $url;
if($url == "2006/07/06/148-bigg-mgharba-tal-moute-rap-marocain")
{


header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.bloghebdo.com");
header("Connection: close");
exit;
}

Sinon tu connais une solution en .htaccess ?

Adam
 

Discussions similaires

Haut