Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zend Framework + mod_rewrtite
Forum PHP.pl > Forum > PHP > Object-oriented programming
sadoch
Nie wiem czy ten topic tutaj pawuje, ale mam nadzieje, że tak.

Mam niewielki problem. Postanowiłem zapoznać się z Frameworkiem Zend'a bo zaczyna to wyglądać coraz ciekawiej i zatrzymałem się już na samym początku.

Otóż nie działa mi mod_rewrite a przynajmniej tak mi się wydaje. Postępuje zgdodnie z tym co wypisują w manulanu lub w tym tutorialu:

http://wojciech.naruniec.info/php/zend-framework-tutorial/1/

No i nic!

Co może być nie tak?

Odkomentowałem linię w httpd.conf która ładuje mod_rewrite.
W katalogu głównym (DocumentRoot) mam następujący .htaccess:

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

i po wywołaniu np. http://localhost/foo/bar nie wyświetla się to co powinno. Przy czym mam napisany kotroler FooController z akcją barAction().

Mój DocumentRoot i ServerRoot jest inny, czy to może być przyczyną problemu questionmark.gif

Błagam niech mi ktoś pomoże

Z góry dzięki
LBO
Zrestartowałeś Apache'a?

Jaki komunikat sie wyswietla?

Dobrze podałeś ścieżkę do kontrolerów? Czy biblioteki Zend frameworka znajdują się w include_path?

Trzymasz plik index.php razem z .htaccess w głównym katalogu?
sadoch
Cytat(LBO @ 22.07.2006, 10:22 ) *
Zrestartowałeś Apache'a?


I to nie jeden raz

Cytat(LBO @ 22.07.2006, 10:22 ) *
Jaki komunikat sie wyswietla?


Nie znaleziono obiektu! Error 404

Cytat(LBO @ 22.07.2006, 10:22 ) *
Dobrze podałeś ścieżkę do kontrolerów? Czy biblioteki Zend frameworka znajdują się w include_path?


Biblioteki Frameworka ładują się na pewno, przy wywołaniu http://localhost/ wyświetal się akcja domyślna czyli indexAction z kontrolera IndexController umieszczonego w katalogu z kontrolerami. Dlatego mi się wydaje, że jest coś nie tak z mod_rewrite

Cytat(LBO @ 22.07.2006, 10:22 ) *
Trzymasz plik index.php razem z .htaccess w głównym katalogu?


oczywiście że tak, trzymam je w katalogu DocumentRoot w konfiguracji Apache i ani foldery głębiej.

Chociaż po wywołaniu
http://localhost/index.php

wyświetla się akcja noRouteAction()
LBO
Jak odblokowałeś moduł mod_rewrite, ustawiłeś w dyrektywach/właściwościach (folderu) DocumentRoot (w http.conf)
Cytat
AllowOverride All
sadoch
Nic takiego nie ustawiałem. Jak to się robi i gdzie questionmark.gif


Jedyne co zrobiłem w httpd.conf to odkomentowałem tą linię

LoadModule rewrite_module modules/mod_rewrite.so


OK już zalazłem, Wielkie dzięki!!!!


Dla potomnych w sekcji Directory DocumentRoot'a trzeba ustawić takie oto coś

<Directory "C:/path/to/DocumentRoot">

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
" title="Zobacz w manualu php" target="_manual


Przed tą zmianą było


AllowOverride None
" title="Zobacz w manualu php" target="_manual
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.