Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-01-2010 15:42:13

__fabrice
Membre
Date d'inscription: 25-04-2007
Messages: 131

RedirectPermanent sans passer par le errorHandler

Salut,

Après la mise en ligne d'une refonte d'un site, les liens référencés dans les moteurs de recherche ne sont plus bons.

Donc, je dois faire des RedirectPermanent (une bonne trentaine) dans mon .htaccess pour les rediriger vers les bonnes routes. Seulement, si l'url n'est pas bonne, le errorhandler récupère l'url et cela ne "fait pas" le RedirectPermanent.

Comment faire svp ?

Merci
Fabrice

Hors ligne

 

#2 21-01-2010 10:14:16

__fabrice
Membre
Date d'inscription: 25-04-2007
Messages: 131

Re: RedirectPermanent sans passer par le errorHandler

Hello,
Personne ne sais comment faire alors ?, pas de pistes ? sad

Fabrice

Hors ligne

 

#3 21-01-2010 10:36:24

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: RedirectPermanent sans passer par le errorHandler

Il est difficile de t'aider car nous ne connaissons pas les conditions de redirection
Tu as redirect car tu as changé de domaine ? déplacé des fichiers ? autre ?
A toi d'écrite tes règle en utilisant mod_rewrite (comme le fait le .htacess générer par le ZF)

Par contre, utilise l'option [R] pour forcé justement la nouvelle requête par les navigateur :
RewriteRule ^ancien/lien.html$ nouveau.html [R]


----
Gruiiik !

Hors ligne

 

#4 21-01-2010 11:31:11

__fabrice
Membre
Date d'inscription: 25-04-2007
Messages: 131

Re: RedirectPermanent sans passer par le errorHandler

En fait, j'ai refait un site avec ZF. Du coup, les urls précédentes qui étaient dans les bases de google (SEO), ne sont plus bonnes.
Faut que je fasse une redirection des anciennes pages .html vers les nouvelles urls du site, fait avec ZF.

Merci
F.

Hors ligne

 

#5 21-01-2010 11:36:09

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: RedirectPermanent sans passer par le errorHandler

En général je fais un truc simple du genre :

Code:

// fichier redirect301.php
function redirect301($pathUri) {
    $redirectTab = array(
        "/FramesetCompany1.html" => "/en/company/about",
        "/FramesetTechno1.html" => "/en",
        [...]
    );
    if (isset($redirectTab[$pathUri])) {
        header("Status: 301 Moved Permanently", false, 301);
        header("Location: ".$redirectTab[$pathUri]);
        exit();
    }
}

Que j'appelle au début de mon index.php

Code:

$requestUri = $_SERVER["REQUEST_URI"];
$pathUri = parse_url($requestUri,PHP_URL_PATH);
if (preg_match("/.+\.html$/",$pathUri)) {
    include_once("redirect301.php");
    redirect301($pathUri);
}

(bien sur la regexp dans le index.php dépend de ton besoin).

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#6 21-01-2010 14:43:16

__fabrice
Membre
Date d'inscription: 25-04-2007
Messages: 131

Re: RedirectPermanent sans passer par le errorHandler

hello,
j'ai reussi à faire çà avec le .htaccess finalement :
le premier parametre est le chemin absolu du serveur (sans le http et www.) et le second et l'url web complete :

Code:

RedirectPermanent /fichier.htm http://www.viaprovence.com/ma_route

La methode de philippe est bien aussi.

Sur une autre forum anglosaxon, un gars m'a parlé de faire un plugin, je verrai çà par la suite, et je mettrai le code ici si çà marche.

Merci
F.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages