Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Kohana]Routing nie działa
Forum PHP.pl > Forum > PHP > Frameworki
wiciu010
Zacząłem pisać aplikację w najnowszej wersji Kohany 3.3

Mam plik bootstrap.php:

  1. Kohana::init(array(
  2. 'base_url' => '/wypoczynek/',
  3. 'index_file' => false,
  4. ));
  5.  
  6. Route::set('default', '(<controller>(/<action>(/<id>)))')
  7. ->defaults(array(
  8. 'controller' => 'home',
  9. 'action' => 'index',
  10. ));
  11.  
  12. Route::set('dodaj-obiekt', 'dodaj-obiekt(/<action>(/<id>))')
  13. ->defaults(array(
  14. 'controller' => 'object',
  15. 'action' => 'addObject',
  16. ));


.htaccess mam następujący:

Kod
RewriteEngine On

RewriteBase /wypoczynek/

<Files .*>
    Order Deny,Allow
    Deny From All
</Files>

RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule .* index.php/$0 [PT]


Adres www.localhost/wypoczynek działa prawidłowo ale jak wpiszę www.localhost/wypoczynek/dodaj-obiekt to mam błąd 404 od Apache. Co jest złe?
Na tym serwerze pisałem aplikacje w starszej wersji Kohany i działało poprawnie
wujek2009
Spróbuj default routing na sam koniec. Nowe wpisy w routingu dawaj PRZED default'owymi ustawieniami.
skowron-line
Tak jak kolega wyżej napisał default musi być zawsze na końcu.

Ja dodatkowo zrobiłem sobie coś takiego
bootstrap.php
  1. array_map(function($file){
  2. return require $file;
  3. }, Kohana::find_file('config', 'route', 'php'));
  4.  
  5. // default routing

i w każdym module mam(albo nie) plik z routingiem który z automatu mi się ładuje.
wiciu010
Cytat(skowron-line @ 28.04.2013, 10:51:53 ) *
Tak jak kolega wyżej napisał default musi być zawsze na końcu.

Ja dodatkowo zrobiłem sobie coś takiego
bootstrap.php
  1. array_map(function($file){
  2. return require $file;
  3. }, Kohana::find_file('config', 'route', 'php'));
  4.  
  5. // default routing

i w każdym module mam(albo nie) plik z routingiem który z automatu mi się ładuje.


ok mam routing przeniesiony nad default ale to nie pomoglo. W bootstrap.php usunalem linie odnosnie index_file. Teraz pojawia mi sie podstrona ale pod adresem www.localhost/wypoczynek/index.php/dodaj-obiekt
Jednak ja chce bez index.php

Odnosnie roznych plikow z routingiem to w jakim folderze je umiescic i powinny miec nazwe route.php?
wujek2009
  1. 'index_file' => false,

na
  1. 'index_file' => '',


Spróbuj.
wiciu010
Cytat(wujek2009 @ 28.04.2013, 11:37:29 ) *
  1. 'index_file' => false,

na
  1. 'index_file' => '',


Spróbuj.


Niestety to również nie pomogło sad.gif
bladeer
Sprawdź czy aby nazwy plików zaczynasz z wielkiej litery. Sprawdz kontroller który ci nie działa.. czy z dużej litery masz nazwę klasy itp. Mówię serio.
wiciu010
Cytat(bladeer @ 28.04.2013, 17:00:50 ) *
Sprawdź czy aby nazwy plików zaczynasz z wielkiej litery. Sprawdz kontroller który ci nie działa.. czy z dużej litery masz nazwę klasy itp. Mówię serio.


Wielkość liter jest poprawna...

Problem pojawia się w Kohana 3.3 w starszej wersji działa bez zarzutu ten sam kod
bladeer
Wiem o tym.. lecz ja miałem identyczny problem. Na kohana 3.2 wszystko działało jak trzeba. na 3.3 były problemy.. a wystarczyło pliki kontrolerów pisać z dużej litery aby naprawić problem.
wiciu010
Cytat(bladeer @ 28.04.2013, 18:01:57 ) *
Wiem o tym.. lecz ja miałem identyczny problem. Na kohana 3.2 wszystko działało jak trzeba. na 3.3 były problemy.. a wystarczyło pliki kontrolerów pisać z dużej litery aby naprawić problem.


Kontroler nazywa się dobrze czyli Object.php a klasa Controller_Object
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.