Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] nie widzi kontrolera innego niz index
Forum PHP.pl > Forum > PHP > Frameworki
agnieszkagdansk
Witam,
Robię pierwsze kroki z ZF,
utworzyłam przykładowy kontroler indexController - ok działa,
ale jak już chce stworzyc inny kontroller według tych samych zasad
to po wpisaniu URL w przeglądarce
http://localhost/zf/innykontroler
pokazuje błąd 404 czyli nawet nie widzi tego,
na pierwszy rzut oka wygląda ze cos nie tak z rewrite
moj .htpaccess wyglada tak
Kod
RewriteEngine on
RewriteRule .* index.php

php_flag magic_quotes_gpc off
php_flag register_globals off
pgrzelka
Kod
RewriteEngine on
RewriteBase /zf/
RewriteRule .* index.php


lepiej napisać
Kod
RewriteEngine on
RewriteBase /zf/
RewriteRule !\.(js|ico|gif|jpg|png|css|xml|zip|rar)$ index.php

ponieważ w Twoim rozwiązaniu pliki css, js itp też będą "przechodziły" przez index.php
linuxoida
Może to coś pomoże

http://sf.jogger.pl/2007/05/02/mod-rewrite-w-przykladach/
agnieszkagdansk
niestety nie pomogło sad.gif
gazelek
sprobuj uzyc adresu http://localhost/twoje_konto/default/inny_kontroller
chlebik
Na odleglosc bez rzutu oka na Twoj bootstrap to nic powiedziec nie mozna. Ale kwestia jest taka (nie wiem jak w 1.8 wersji), ze ZF najpierw szuka modulu, potem kontrolera i potem akcji. I domyslnie modul nazywa sie default, a kontroler Index i tak samo akcja. Jednakze jesli dodaje sie cos innego (kontroler) i nie bangla to z mojego doswiadczenia sa 2 opcje:

1. Nie masz dodanego odpowiedniego wpisu w bootstrapie. Wyglada on tak:

  1. <?php
  2. $frontController->setControllerDirectory(array('default'=>'../application/controllers/default/',
  3.                           'inny'=>'../application/controllers/inny/'));
  4. ?>



Jak latwo sie mozna domyslic klucze tablicy to nazwy modulow, a wartosc to sciezka, gdzie ma szukac kontrolerow.


2. Nie wiem czy uruchamiasz to na okienkach czy linuxie, ale pamietaj, ze linux rozpoznaje litery! I czesto pomylki/przeoczenia przy nazywaniu klasy/pliku z kontrolerem powoduja bledy.


Pzdr
Chlebik
agnieszkagdansk
U mnie jest tak:
  1. <?php
  2. $frontController->setControllerDirectory('./application/controllers');
  3. ?>
snapshot
A działa ci adres http://localhost/zf/index/index i http://localhost/zf ?
seth-kk
@chlebik: domyslnie zend (przynajmniej 1.7) nie kozysta z modulow
404 sugeruje ze mod_rewrite nie przekierowal do index.php (gdyby przekierowal powinen wyskoczyc blad z php) - no chyba ze wygenerowal to errorController
domyslam sie ze 'zf' to folder w ktorym to lezy (staly element) wiec predzej czy pozniej przyda sie
  1. <?php
  2. $frontController->setBaseUrl('/zf')
  3. ?>
w bootstrapie (jego brak tez powoduje problemy z przelozeniem urla na controllery
ikssde
Nie wiem czy napisana na początku nazwa pliku ".htpaccess" to literówka, czy nie. Jeśli tak to zmień nazwę na ".htaccess"
agnieszkagdansk
Cytat(snapshot @ 26.05.2009, 22:50:29 ) *


tak działa, ale jak dodaje inny kontroler to pokazuje error 404


Cytat(kierzniak @ 27.05.2009, 16:29:25 ) *
A widok do tego kontrolera masz zrobiony?


Gdyby to był peroblem widoku to by wiświeliło mi odpowiedni komunikat
(wiem bo przedtem nie mialam widoku index i mi pokazalo komunikat ze nie mam widoku )
a mi pokazuje 404


Cytat(ikssde @ 27.05.2009, 11:54:14 ) *
Nie wiem czy napisana na początku nazwa pliku ".htpaccess" to literówka, czy nie. Jeśli tak to zmień nazwę na ".htaccess"


to tylko literowka, u mnie na na dysku nazwa pliku jest prawidlowo wpisana

Cytat(seth-kk @ 27.05.2009, 00:25:55 ) *
domyslam sie ze 'zf' to folder w ktorym to lezy (staly element) wiec predzej czy pozniej przyda sie
  1. <?php
  2. $frontController->setBaseUrl('/zf')
  3. ?>
w bootstrapie (jego brak tez powoduje problemy z przelozeniem urla na controllery


nie pomogło


Uzywam WebServ mysle ze cos jest w konfigutracji WebServ,
moze ktos uzywał WebServ i miał taki sam probelm jak ja ?
pgrzelka
.htaccess jest w /zf czy wyżej ?
jak masz pliki poukładane ?

używałem webserv (jak jeszcze miałem windowsa) i wszystko działało
agnieszkagdansk
.htaccess jest w zf

OK moja wina była literówka .htacccess
3 x ccc
włosy sobie wyrywam a tu taka głupota exclamation.gif! Dżizes!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.