J'ai un site web PHP5/Zend Framework 1.8.1, qui est situé à:Quelle est la meilleure façon d'effectuer une redirection 301 dans cette situation?
http://www.example.com/foo
L'ancienne version de ce site, qui exaspérante, est toujours maintenu par l'index de Google est situé à:
http://www.example.com/foo/DEFAULT.ASP
Alors beaucoup de gens demandent le lien ci-dessus et se retrouvent dans une impasse.
Je vois, la façon de résoudre ce problème serait d'émettre une redirection 301 pour l'emmener au nouveau site. Les deux façons de le faire que le printemps à l'esprit sont:
La première façon dont je pensais était d'ajouter une règle de réécriture à notre .htaccess. Notre mise en œuvre du site est PHP5/Zend Framework 1.8.1, donc il y a une règle de réécriture existant dans le .htaccess (selon l'exigence Zend Framework MVC) qui est:
RewriteRule !\.(js|ico|gif|jpg|png|css|jpeg)$ index.php
Comme un noob mod_rewrite, je l'ai fait un peu googler et est venu avec ce qui suit pour gérer la redirection:
RewriteCond %{HTTP_HOST} ^/foo/DEFAULT.ASP RewriteRule (.*) http://example.com/foo$1 [R=301,L]
j'ajouté ces lignes au .htaccess, mais ils ne fonctionnent pas.
La deuxième façon dont je pensais est d'utiliser
Zend_Router_Route_Static
comme suit:$router = $frontController->getRouter(); $route = new Zend_Controller_Router_Route_Static('foo/DEFAULT.ASP', array('controller' => 'foo', 'action' => 'index')); $router->addRoute('foo', $route);
Cette redirige vers la bonne page, mais je ne sais pas comment définir ainsi un 301 en-tête, plus il est tout à fait inélégant ayant ces lignes de code dans mon
bootstrap.php
quelqu'un peut-il offrir des conseils sur la façon de faire face à cette situation? Je voudrais savoir tout ou partie:
- Comment obtenir la règle de réécriture pour travailler
- Comment faire un « 301 » avec
Zend_Controller_Router_Route
si possible. - Y a-t-il un autre moyen que je sois ?
- Quelle est la meilleure façon et pourquoi?
- Pourquoi Google ne comprend-il pas cela? Cela fait presque six mois.
Merci pour la réponse rapide, en train d'essayer maintenant. – karim79
Je l'ai fait, mais cela n'a pas fonctionné, exactement le même résultat qu'avant. Une idée? – karim79
L'avez-vous mis avant l'autre règle? – Greg