![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 25.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich forumowiczów. Mam pewien mały (?) problem z "przyjaznymi url-ami". Mianowicie przeczytałem artykuł http://wortal.php.pl/wortal/artykuly/pomys.../przyjazne_urle , bardzo fajne rozwiązanie, ale posiada jedną wadę.
Wpadłem na patent, prawie całkowitego (bez indexa) pozbycia się plików php w public_html. Chodzi o to, że plik index.php includuje "głowny engine", ten znowu robi właśnie taką tablice PATCH_INFO, która trafia do switchowej "maszynki" i generowana zostaje odpowiednia strona. Wszystko pięknie ładnie gdyby nie jeden problem. Gdy chcę np. przeglądać profile użytkowników moim sposobem, czyli "www.mojastrona.pl/profile/212" wyskakuje mi 404, że nie ma takiego katalogu. Pewnie i słusznie, bo skąd apache może wiedzieć, ze chce się odwołać do "www.mojastrona.pl/index.php/profile/212". Myślałem nad 2 rozwiązaniami. Tak jak to w artykule jest napisane. Porobić osobne pliki, index.php, profile.php i "usunać" .php przez .htaaccess. Ale to mnie nie satysfakcjonuje, bo wiem, że DA SIĘ zrobić to inaczej (np. tinyurl.com ma po adresie www.tinyurl.com/abcdef od razu "kod" odwołujący się do skróconego adresu, chyba nie tworzy tego katalogu?) pozatym takie rozwiązanie dalej jest złe bo z profile.php nadal musiał bym includowac główny engine i wszystko idzie się.. 2 rozwiązanie, zostawić tak jak jest, ew zmienić index.php na coś krótszego np. a.php. Potem usunąć .php i przed każdym adresem dodawać www.mojastrona.pl/a/profile/2122. Też niefajne, ale działa. Macie może jakieś inne propozycje? Bardzo proszę o pomoc i z góry dziękuję:) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
przekieruj każde wywołanie na index.php
w index.php daj $tablica = explode('/', $_SERVER[REQUEST_URI]); $tablica[0] - główny moduł / akcja pozostałe rekordy tablicy to zmienne |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 25.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cytat w index.php daj $tablica = explode('/', $_SERVER[REQUEST_URI]); $tablica[0] - główny moduł / akcja pozostałe rekordy tablicy to zmienne To już mam zrobione z artykułu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zastanawiam się nad "przekieruj każde wywołanie na index.php". Może dało by się np. mod_rewrite'm przekierować wszystkie zapytania http z www.mojastrona.pl/profile/212 do www.mojastrona.pl/index.php/profile/212. Po prostu przekierowywac wszystko do PO /index.php/, ale zeby tego nie bylo widać. Da się? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Ten post edytował MihaueQ 25.05.2009, 14:21:53 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Po co sie głupio pytasz skoro nawet nie przeczytałeś artykułu na temat mod_rewrite.
Tak da się "przepisać" wszystko. I było na forum więcej razy niż jesteś sobie w stanie wyobrazić. Ten post edytował wookieb 25.05.2009, 14:37:18 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 20:27 |