Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 'Przyjazne url-e' - problem.
MihaueQ
post
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ę:)
Go to the top of the page
+Quote Post
pgrzelka
post
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
Go to the top of the page
+Quote Post
MihaueQ
post
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
Go to the top of the page
+Quote Post
wookieb
post
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
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: 25.08.2025 - 20:27