Tomasz Faszyński

Tomasz Faszyński Specjalista ds.
programowania

Temat: [Kohana]Routing nie działa, .htaccess

Zacząłem pisać aplikację w najnowszej wersji Kohany 3.3

Mam plik bootstrap.php:

Kohana::init(array(
'base_url' => '/wypoczynek/',
'index_file' => false,
));

Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'home',
'action' => 'index',
));

Route::set('dodaj-obiekt', 'dodaj-obiekt(/<action>(/<id>))')
->defaults(array(
'controller' => 'object',
'action' => 'addObject',
));

.htaccess mam następujący:

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 http://localhost/wypoczynek działa prawidłowo ale jak wpiszę http://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

konto usunięte

Temat: [Kohana]Routing nie działa, .htaccess

1. Dokumentacja nt. "przyjaznych linków" (z informacją co może być nie tak, gdy nie działa).

2. Kolejność wpisów routingu w pliku bootstrap.php ma znaczenie. W twoim przypadku "dodaj-obiekt" nigdy nie zostanie wykonane, ponieważ przed nim istnieje wpis domyślny (default). Więc gdy użytkownik odwiedzi adres np. http://localhost/dodaj-obiekt, to zostanie użyty wpis "default" z "dodaj-obiekt" jako nazwa kontrolera (która prawdopodobnie nie przejdz z powodu myślnika).
Tomasz Faszyński

Tomasz Faszyński Specjalista ds.
programowania

Temat: [Kohana]Routing nie działa, .htaccess

Marek S.:
1. Dokumentacja nt. "przyjaznych linków" (z informacją co może być nie tak, gdy nie działa).

2. Kolejność wpisów routingu w pliku bootstrap.php ma znaczenie. W twoim przypadku "dodaj-obiekt" nigdy nie zostanie wykonane, ponieważ przed nim istnieje wpis domyślny (default). Więc gdy użytkownik odwiedzi adres np. http://localhost/dodaj-obiekt, to zostanie użyty wpis "default" z "dodaj-obiekt" jako nazwa kontrolera (która prawdopodobnie nie przejdz z powodu myślnika).

Zmieniłem kolejność i zakomentowałem linię

'index_file' => false,


Teraz bootstrap.php wygląda:

Kohana::init(array(
'base_url' => '/wypoczynek/',
// 'index_file' => false,
));


Podstrona się wyświetliła, ale pod adresem http://localhost/wypoczynek/index.php/dodaj-obiekt a ja chcę bez index.php
Tomasz Faszyński

Tomasz Faszyński Specjalista ds.
programowania

Temat: [Kohana]Routing nie działa, .htaccess

Problem pojawia się w Kohana 3.3 w starszej wersji działa bez zarzutu ten sam kod

konto usunięte

Temat: [Kohana]Routing nie działa, .htaccess

Marek S.:
(...)zakomentowałem linię

'index_file' => false,


Teraz bootstrap.php wygląda:

Kohana::init(array(
'base_url' => '/wypoczynek/',
// 'index_file' => false,
));


Podstrona się wyświetliła, ale pod adresem http://localhost/wypoczynek/index.php/dodaj-obiekt a ja chcę bez index.php

Po co zakomentowałeś tę linię? Domyślnie index_file ma wartość 'index.php', więc nie dziwi mnie to, że pojawia się w adresie. Zmień wartość na false, powinno być ok :)Michał Filik edytował(a) ten post dnia 28.04.13 o godzinie 18:16
Tomasz Faszyński

Tomasz Faszyński Specjalista ds.
programowania

Temat: [Kohana]Routing nie działa, .htaccess

Michał F.:
Marek S.:
(...)zakomentowałem linię

'index_file' => false,


Teraz bootstrap.php wygląda:

Kohana::init(array(
'base_url' => '/wypoczynek/',
// 'index_file' => false,
));


Podstrona się wyświetliła, ale pod adresem http://localhost/wypoczynek/index.php/dodaj-obiekt a ja chcę bez index.php

Po co zakomentowałeś tę linię? Domyślnie index_file ma wartość 'index.php', więc nie dziwi mnie to, że pojawia się w adresie. Zmień wartość na false, powinno być ok :)

Niestety zmiana na false nie pomaga, ciagle jest problem z pierwszego posta.

konto usunięte

Temat: [Kohana]Routing nie działa, .htaccess

W jaki sposób generujesz link do 'dodaj-obiekt' ?
Tomasz Faszyński

Tomasz Faszyński Specjalista ds.
programowania

Temat: [Kohana]Routing nie działa, .htaccess

Michał F.:
W jaki sposób generujesz link do 'dodaj-obiekt' ?

<?php echo HTML::anchor('dodaj-obiekt', 'Dodaj obiekt');?>
Tomasz Faszyński edytował(a) ten post dnia 29.04.13 o godzinie 09:56

Następna dyskusja:

przekierowania .htaccess, n...




Wyślij zaproszenie do