Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF] ModRewrite i ścieżka do index.php
Forum PHP.pl > Forum > PHP > Frameworki
Piro
Witam,

Mam problem ze ścieżkami w ZF. Mianowicie problem polega na błędzie który dostaję gdy próbuję wczytać widok przez ścieżkę http://localhost/proba/public/controller/action natomiast działa gdy dodam do ścieżki index.php http://localhost/proba/public/index.php/controller/action
Oczywiście domyślny kontroler działa i mam do niego dostęp przez http://localhost/proba/public/ bez index.php.

Próbowałem dodawać ruting:
  1. resources.router.routes.dogoscia.route = "/akcja.html"
  2. resources.router.routes.dogoscia.defaults.controller = "controller"
  3. resources.router.routes.dogoscia.defaults.action = "action"


ale niestety aby dostać się do public/akcja.html należy dodać index.php pomiędzy (public/index.php/akcja.html)

Nie wiem dlaczego działa to w ten sposób ale dołączę .htaccess
  1. SetEnv APPLICATION_ENV development
  2. DirectoryIndex index.php
  3. RewriteEngine On
  4. RewriteCond %{REQUEST_FILENAME} -s [OR]
  5. RewriteCond %{REQUEST_FILENAME} -l [OR]
  6. RewriteCond %{REQUEST_FILENAME} -d
  7. RewriteRule ^.*$ - [NC,L]
  8. RewriteRule ^.*$ index.php [NC,L]
  9. RewriteRule ^public/.*$ public/index.php [NC,L]
  10. php_flag register_globals off
  11. php_flag magic_quotes_gpc off
  12. RewriteBase /


Z góry dzięki za pomoc,
piro
Necsord
  1. RewriteBase /proba/public


Tylko byś musiał pamiętać o zmianie tego przy podpieciu domeny. Innym rozwiązaniem jest stworzenie vhost'a w apache'u podpięty pod /proba/public . Masz ten problem, ponieważ aplikacja szuka index.php w głównym katalogu, czyli w twoim przypadku http://localhost/index.php.
Piro
Zmieniłem Base ale nadal chce to wszystko wczytywać poprzez index.php. Nie wiem czy vhost tutaj pomoże bo problem chyba leży gdzieś w ustawieniach samego zenda. Dziękuję za zainteresowanie się tematem. Spróbuję jeszcze coś poszukać w ustawieniach zenda.
Necsord
Ustawienia zend'a nie maja tu nic do rzeczy. Jakiś konkretny błąd ? Typu
  1. The requested URL /zend/index.php was not found on this server.
Piro
  1. [Fri Feb 03 13:25:31 2012] [error] [client ::1] File does not exist: /var/www/proba/public/akcja.html

logi apache
  1. The requested URL /proba/public/akcja.html was not found on this server.

localhost
Necsord
Masz mod_rewrite? Sprawdź w phpinfo().
skowron-line
http://framework.zend.com/manual/en/learni...e-project.vhost
zastosuj się do rad z quickstart -u i będzie Ci działać bez index.php
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.