Ben de bulunan bir PHP5/Zend Framework 1.8.1 web sitesi var:
http://www.example.com/foo
Infuriatingly hala google indeksi ile korunur, bu sitenin eski sürümü yer oldu:
http://www.example.com/foo/DEFAULT.ASP
Yani bir sürü insan yukarıdaki bağlantıyı talep eden ve bir çıkmaz isabet vardır.
Ben, bu yeni siteye onu almak için 301 yönlendirme sorunu olacaktır düzeltmek için bir yol bulmalısınız. Akla bahar Bunu yapmanın iki yolu vardır:
Ben düşündüm ilk yolu bizim. Htaccess bir yeniden yazma kuralı eklemek oldu. Sitemiz uygulama PHP5 / Zend Framework 1.8.1, yani (Zend Framework MVC şartının gibi) htaccess varolan yazma kuralı var.:
RewriteRule !\.(js|ico|gif|jpg|png|css|jpeg)$ index.php
Bir mod_rewrite çaylak olarak, Googling biraz yaptım ve yönlendirme işlemek için aşağıdaki ile geldi:
RewriteCond %{HTTP_HOST} ^/foo/DEFAULT.ASP RewriteRule (.*) http://example.com/foo$1 [R=301,L]
Ben. Htaccess için bu satırları ekledim, ama onlar çalışmaz.
Ben düşündüm ikinci yolu aşağıdaki gibi
Zend_Router_Route_Static
kullanmaktır:$router = $frontController->getRouter(); $route = new Zend_Controller_Router_Route_Static('foo/DEFAULT.ASP', array('controller' => 'foo', 'action' => 'index')); $router->addRoute('foo', $route);
Bu doğru sayfaya yönlendirir, ama ben de bir 301 başlığı ayarlamak için nasıl hiçbir fikrim yok, artı benim
bootstrap.php
kod bu satırları sahip oldukça zarafetsiz bulunuyor
Herkes bu durumla nasıl başa çıkılacağı konusunda herhangi bir tavsiye edebilir miyim? Ben tümünü veya herhangi bilmek istiyorum:
- Yazma kuralı işe almak için nasıl
- How to do a '301' with
Zend_Controller_Router_Route
if possible. - Is there another way that I'm missing?
- Iyi bir yol ve neden hangisidir?
- Why isn't google figuring this out? It has been nearly half a year.