Zend Framework denetleyici yükleme hatası bulmaca

3 Cevap php

Şöyle bir .htaccess dosyası vardır:

SetEnv APPLICATION_ENV development

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Ben ile test ediyorum siteme göz atarsanız, dizin sayfası yükler düzgün, http://www.example.com/ söylüyorlar.

Bu bir Zend Framework uygulama olduğunu ve bu nedenle ben http://www.example.com/index/index veya http://www.example.com/index gitmek eğer kontrolör + eylem belirterek, doğru olduğu gibi, benim denetleyicileri dışarı rota şeyler olmalı, ve sadece kontrol, sırasıyla.

Ben testi denir endeksi denetleyicisi başka bir eylem tarif ettik http://www.example.com/index/test gibi bir şey, yapmak durumunda da çalışır.

Ben bir TestController.php dosya ve http://example.com/test/ gitmek için girişim yapmak Ama eğer, Apache dönüyor:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
<html><head> 
<title>404 Not Found</title> 
</head><body> 
<h1>Not Found</h1> 
<p>The requested URL /path/to/website/root/public/index.php was not found on this server.</p> 
<hr> 
<address>Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch Phusion_Passenger/2.0.3 mod_perl/2.0.3 Perl/v5.8.8 Server at www.example.com Port 80</address> 
</body></html> 

Herkes burada mahvettin görebilir miyim?

Billy3

EDIT: Benim site için yapılandırma gibi bir şey görünüyor:

Alias /MySiteRoot/ "/usr/local/vsites/something/www/"
<Directory /usr/local/vsites/something/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

3 Cevap

Sitenizin etki kök değilse, bir şeyler doğru biçimlendirilmiş olması için için bir RewriteBase direktifi eklemek zorunda çıkıyor. Ben bunu önceden doğru dosyayı rapor neden olarak bir kayıp hâlâ, ama şimdi iş gibi görünüyor.

Teşekkür ve güzel bir gün :)

Mod_rewrite değildi çalışırken ben genellikle bu sorunla karşılaştı.

Mod_rewrite zaten etkinleştirilmiş varsa, / etc/apache2/sites-available/yoursite.com yapılandırma dosyası kontrol AllowOverride All ayarlanmış olduğunu.

Ben bunu doğru okumak Yani, yönlendirme sadece url denetleyicisi belirtmek değilken düzgün çalışıyor, ancak.

Yani şu var:

class TestController extends Zend_Controller_Action
{

    //do you have an index action???
    public function indexAction()
    {

    }

}