ZendRouter tarafından bulunamadı Sayfa: denetleyicisi adı olarak klasör adını davranır

2 Cevap php

I've tried to run ZF Quickstart app not from the root folder, but from webserver subfolder, like a usual php app, e.g. localhost/quickstart. When localhost/quickstart/guestbook gives page not found error:

> Page not found
> 
> array(3) {   ["controller"]=>  
> string(10) "quickstart"   ["action"]=>
> string(9) "guestbook"   ["module"]=>  
> string(7) "default" }

It treats parent folder name as controller name. I've narrowed down my problem to this line:

Zend_Controller_Front :: getInstance () -> gönderme ();

Ben bir şekilde ana klasör karışıklığı avoind için yönlendirici nesne condigure gerekir? Ne kod kullanmalıyım?

Benim meta-amaç aynı web sunucusu üzerinde bir kaç zend uygulamaları çalıştırmak için.

2 Cevap

Muhtemelen gerek set the base url.

Örneğin:

$controller->setControllerDirectory('./application/controllers')
       ->setRouter($router)
       ->setBaseUrl('/quickstart');

Diyorsun ki:

Ben değil, kök klasörden, ama webserver alt klasörden ZF Hızlı Başlangıç ​​uygulaması çalıştırmayı denedim

: Zorunlu olarak aynı şey değil

Benim meta-amaç aynı web sunucusu üzerinde bir kaç zend uygulamaları çalıştırmak için.

RoBorg ne diyor doğrudur ve özellikle ilk soru cevaplar, ama gerçekten istediğiniz zaman, her site için bunu yapmak zorunda bir ağrı (artı aynı değildir dev ve dağıtılan sitelerinde yönlendirme anlamına gelir) onlar herhangi bir yapılandırma veya yönlendirme dokunmak zorunda kalmadan, üst düzeyde çalışabilmesi için kendi alt alanları ile kurulmuş tüm proje URL'leri var edebilmek için. Sadece böylece I wrote a blog post on this sadece son olur ...