2009-12-16 5 views
0

j'ai posté plus tôtPHP 301 Redirect Idée

301 Redirect of Static HTML to Dynamic PHP Page

Mais une nouvelle idée, et je me demande s'il y a des problèmes pourquoi je ne devrais pas faire ça ...

Si quelqu'un tente d'accéder à une page morte sur notre site comme:

(domaine) /somepage.html

qui existe maintenant ici:

(domaine) /dynamic.php?id=1

Il échoue et va à une erreur personnalisée page 404 (/404.php)

Si je regarde la variable $_SERVER['REDIRECT_URL'], je peux voir où ils essayaient d'aller. Mon idée est d'ajouter un include en haut de la page 404.php pour vérifier cette valeur, et si c'est dans ma liste d'éléments à rediriger, alors utiliser PHP pour faire le 301.

Quelque chose comme ça .. .

// -- php include at top of 404.php page 

switch(trim($_SERVER['REDIRECT_URL'])){ 
    case "/oldpage.html" : $location = "/dynamic.php?id=1"; break; 
    case "/oldpage2.html" : $location = "/dynamic.php?id=2"; break; 
} 

if(isset($location) && trim($location) != ''){ 
    header ('HTTP/1.1 301 Moved Permanently'); 
    header ('Location: '.$location); 
    exit(0); 
} 

// -- end of php include 

Cela me donne un seul point d'entrer dans tous les liens que je vois dans les outils de Google pour les webmasters qui sont entrées de blog, etc. qui sont maintenant morts.

Merci

+1

Ok .............. Et? –

+1

Pourquoi ne pas simplement mettre les règles de redirection dans .htaccess si vous savez déjà qu'elles existent? Vous ne voulez pas le navigateur 404ing ... juste le changer en un 301. –

Répondre

1

Eh bien, oui. 301, accompagné d'un en-tête Location, est la réponse appropriée à une demande que vous pouvez identifier comme étant déplacée.