Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework]ROUTING hostname
kielich
post
Post #1





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Witam,
próbuje zrobić tzw. WILD CARD poprzez routing (hostname)
I nie działa , ktoś może jest w stanie mi pomóc (IMG:style_emoticons/default/questionmark.gif) !

O to kod

  1. $router = new Zend_Controller_Router_Route(':controller/:action/*', array('controller' => 'index','action' => 'index'));
  2.  
  3. $accountRoute = new Zend_Controller_Router_Route_Hostname(':account.localhost/projekt', array('module' => 'account',), array('account' => 'link',));
  4.  
  5. $router->addRoute('account', $accountRoute->chain($router));
Go to the top of the page
+Quote Post
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Gotowy przykład - http://blog.wilgucki.pl/2010/06/zendcontro...hostname-w.html
Go to the top of the page
+Quote Post
kielich
post
Post #3





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Wiem, czytałem ale chce wiedzieć co u mnie jest źle skoro podobnie mam do twojego przykładu
Go to the top of the page
+Quote Post
batman
post
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Wyrzuć to /projekt i powinno działać.
Go to the top of the page
+Quote Post
kielich
post
Post #5





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Jednak nie działa po dodaniu czegokolwiek przed localhost kończy się się błędem "Nie odnaleziono serwera " (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
batman
post
Post #6





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Dopiero teraz to zauważyłem. W Twoim kodzie masz babola polegającego na przypisaniu routera do samego siebie.
Sprawdź jeszcze raz u mnie na blogu jak to jest zrobione.
Go to the top of the page
+Quote Post
kielich
post
Post #7





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Poprawiłem tak juk u Ciebie
tez tak

  1. $pathRoute = new Zend_Controller_Router_Route(':controller/:action/*',array('controller' => 'index','action' => 'index'));
  2. $accountRoute = new Zend_Controller_Router_Route_Hostname(':module.localhost',array('module' => '',));
  3. $router->addRoute('asd', $accountRoute->chain($pathRoute));


kiedy wpisuje asd.localhost/projekt
jest blad wczytywania strony od razu
Go to the top of the page
+Quote Post
batman
post
Post #8





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Wklej tutaj ten komunikat. Będzie bardzo pomocny.
Go to the top of the page
+Quote Post
kielich
post
Post #9





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Najzwyklejszy komunikat FF

Kod
Nie odnaleziono serwera

Firefox nie może odnaleźć serwera asd.localhost
Go to the top of the page
+Quote Post
batman
post
Post #10





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




A dodałeś do konfiguracji apache i do pliku hosts tą domenę? Jeśli nie, to nie będzie Ci to działać. Zawsze możesz pobawić się z wildcards, ale w tym niestety nie pomogę.
Go to the top of the page
+Quote Post
kielich
post
Post #11





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


NO tak ale chciałem zrobić żeby były linki dynamiczne tworzone automatycznie razem z założonym kontem .Czyli co Zend nie da rady (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
batman
post
Post #12





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Da radę, ale musisz ustawić na serwerze wildcards. Niestety tutaj odpadam. Poszukaj na forum, kilka razy padało o to pytanie.
Go to the top of the page
+Quote Post
kielich
post
Post #13





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Kurde na forum nic nie ma a w google nic konkretnie o WC (czyt. wildcars (IMG:style_emoticons/default/smile.gif) ) + localhost nie ma
Go to the top of the page
+Quote Post
quality
post
Post #14





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Nie "wildcars", tylko "wildcard". Na localhost nie zrobisz latwo wildcard (IMG:style_emoticons/default/smile.gif) . Musisz miec serwer dns itp (IMG:style_emoticons/default/smile.gif) . Do testow mozesz wpiswac w plik /etc/hosts (w zalezonosci od systemu inne miejsce) dana domene oraz lokalne ip.

Np:
127.0.0.1 www.cms.localhost.pl cms.localhost.pl

Wtedy wszystko bedzie kierowalo do twojego serwera. Musisz rowniez dodac wirtualny host w apachu (IMG:style_emoticons/default/smile.gif)

Po drugie dlaczego masz w route host ":module" ? Czy masz modul "asd" ? wpisujac ten link ?

Ja hostname i uzytwkonikow mam tak:
  1. $usersOne = new Zend_Controller_Router_Route(
  2. ':action/*',
  3. array('module' => 'default','controller' => 'Uzytkownik','action' => 'show'));
  4.  
  5. $users = new Zend_Controller_Router_Route_Hostname(
  6. ':users.localhost.pl',
  7. array(),
  8. array('users' => '([a-z0-9]+)',)
  9. );
  10.  
  11. $router->addRoute('users', $users->chain($usersOne));


Router ten zawsze uruchamia kontroler uzytkownik, paramert user => nazwa usera, i dalej akcja i dodatkowe parametry.


Po trzecie Zend_Controller_Router_Route_Hostname to nie jest wildcard. Wildcard to jest usluga serwera, Zend tylko zmienia adres w odpowiednie zadanie $_REQUEST.
Dokladniej przekierowywuje ona wszystkie adresy ( subdomeny ) na glowny adres serwera, dzieki temu mozemy operowac wewnatrz aplikacji pobierajac adres.

A po 4 jesli planujesz robic na tym uzytkownikow, tzn ze tez pewnie logowanie. Zeby to zrealizowac musisz ustawic odpowiednio ciasteczka :
  1. Zend_Session::setOptions(array('cookie_domain' => '.localhost.pl'));


Wazna tutaj jest wlasnie ta kropka przed adresem (IMG:style_emoticons/default/smile.gif)

Pozdrawiam i zycze udanej zabawy (IMG:style_emoticons/default/smile.gif)

Ten post edytował quality 9.08.2010, 09:17:54
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.09.2025 - 19:36