Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Wlasne przyjazne url
marcio
post
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Witam jestem w trakcie konczenia mojego silnika dla cms'a jednak chcialbym w nim zastosowac wlasny system przyjaznych url'i, i chcialem zapytac czy ktos z was zna jakies dobre art na czym polega pisanie takiego czegos bez ingerencji w server apache i reguly mod_rewrite wiem ze mozna cos takiego zrobic bo czytalem kiedys o tym ale nie wiem zabardzo od czego zaczac (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Pierwszy wynik w googlach...
http://wortal.php.pl/wortal/artykuly/pomys.../przyjazne_urle
Go to the top of the page
+Quote Post
marcio
post
Post #3





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


No ok ok szukac na google to i ja potrafie chodzi mi jak wy byscie to zrobili albo moze ktos z was juz cos takiego robil i moze sie podzielic nie mowie kodem ale pomyslem jak to zrobil i czy dziala to tak jak mod_rewrite.

Ok niby dziala np tak generuje sobie linki i zawartosc(pseudo kod):
  1. <?php
  2. //Inicjalizacja:
  3.  
  4. $arrParams = array();
  5. $strDefaultPath = $_SERVER['SCRIPT_NAME'];
  6. $_SERVER['PATH_INFO'] = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : $strDefaultPath;
  7. $arrParams = explode('/', substr( $_SERVER['PATH_INFO'], 1));
  8.  
  9. //Funkcja do robienia linkow:
  10.  
  11. function MakeUrl($site = '/index.php', $params = array('')) {
  12.  
  13. $params = implode('/', $params);
  14. return $site.'/'.$params;
  15.  
  16. }
  17.  
  18. //Przykladowe zapytanie dal tematow z danej kategorii:
  19. $query7 = ('select * from tematy where kategoria="'.mysql_real_escape_string($arrParams[0]).'" and cid = '.(int)$arrParams[1].' order by tid desc limit '.$strona*$liczba.','.$liczba.'');
  20.  
  21. //Zwracanie URL:
  22. echo('<a href="'.MakeUrl('/posts.php', array($dane['kategoria'], $dane['cid'], $dane['tid'], $dane['autor'], $dane['tytul'])).'">'.stripslashes($dane['tytul']).'</a>');
  23. ?>


I url sa takie:
http://strona.pl/easy.php/Webhacking/8 -> Link do kategorii forum gdzie wyswietlane sa tematy danej kategrii
I potem linki generowane poprzez kod zaraprezentowany wyzej:
http://strona.pl/posts.php/Webhacking/8/51/uw_test/Tytul

Czy takie cos dobrze wyglada i jest to w pelni funkcjonalne??

I jeszcze jedno nie bardzo rozumiem jak dokladnie mam usunac te rozszerzenie plikow tzn rozumiem to tylko jest jeden problem przewaznie strony gdzie sa NiceUrl pracuja zawsze pod kontrola jednego pliku(gdzie sie include caly silnik etc...) np index.php wiec regula dla niego w .htaccess wyglada:
Cytat
<Files index>
ForceType application/x-httpd-php
</Files>

A ja np mam kilka plikow np:
admin.php
index.php
register.php
Etc.....

Wiec jak miala by wygladac regula da wszystkich plikow *.php np z katalogu cms/??



(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował marcio 27.02.2009, 00:27:22
Go to the top of the page
+Quote Post
sagittariuspl
post
Post #4





Grupa: Zarejestrowani
Postów: 374
Pomógł: 3
Dołączył: 30.12.2006
Skąd: co skąd?

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


Cytat(marcio @ 27.02.2009, 00:27:45 ) *
A ja np mam kilka plikow np:
admin.php
index.php
register.php
Etc.....

Wiec jak miala by wygladac regula da wszystkich plikow *.php np z katalogu cms/??
(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
wyciagasz $_SERVER[REQUEST_URI] i dostajesz np. "/register";
potem tylko include(substr($_SERVER[REQUEST_URI], 1).".php")

chyba o ot Ci chodzilo
Go to the top of the page
+Quote Post
marcio
post
Post #5





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Nie nie chodzi mi o includowanie stron (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) chodzi mi o odwolywanie sie do nich nie podajac rozszerzenia.

Wczesniej podalem ze linki tak wygladaja:
Cytat

A chcialbym zeby do plikow easy/posts.php i innych mozna bylo sie odwolywac bez .php czyli linki mialyby tak wygladac:
Cytat

Tak jak jest w tym arcie: http://wortal.php.pl/wortal/artykuly/pomys.../przyjazne_urle
Go to the top of the page
+Quote Post
bim2
post
Post #6





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


http://forum.php.pl/index.php?s=&showt...st&p=558110

(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
marcio
post
Post #7





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Hmm nie bardzo rozumiem nie chce bawic sie w rzadne skomplikowane router'y ani kontrlolery chcialem zastosowac metode przedstawiona w arcie tylko ze dla wiekszej ilosci plikow.

P.S bim2 moze rozwiniesz twoja odpowiedz (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ^^?
Go to the top of the page
+Quote Post
bim2
post
Post #8





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Jesli nei chcesz korzystać z FW, to ok. Ale tą klasę którą załączyłem razem z htaccess możesz użyć.
Go to the top of the page
+Quote Post
marcio
post
Post #9





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


No tak ale z tego co ja widze to masz wlasnie mod_rewrite a ja chce bez niego (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) wiem nie znam sie na tym ale chce bez mod_rewrite, glownie o to chodzi ze nie wiem jak zmienic ta regule:
Cytat
<Files index>
ForceType application/x-httpd-php
</Files>

Tak zeby wszystkie pliki nie tylko INDEX byly zawsze typy *.php bez podawania rozszerzenia w URL

To jak ma ktos pomysla^^(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
megawebmaster
post
Post #10





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Z tego co wiem to nie da się zrobić w ten sposób, w który Ty chcesz. Zawsze musisz podać plik, który serwer ma wczytać inaczej nici z wszystkiego. A jak nie podasz '.php' to serwer pomyśli, że chodzi o podkatalogi i tam będzie szukał indeksu.
Go to the top of the page
+Quote Post
marcio
post
Post #11





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Aha no ale z tych artow wynika ze tak mozna.

No ok mowi sie trudno bedzie z .php (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
bim2
post
Post #12





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


dało się jakoś ale musisz wskazac który plik ma być jako php rozpoznawany.

wtedy adres był mysite.com/index?sdadas=asdasd
Go to the top of the page
+Quote Post
marcio
post
Post #13





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Nom to tez wiem do tego jest regula:
Cytat
<Files nazwa_pliku>
ForceType application/x-httpd-php
</Files>

ALe po pierwsze to dziala tylko dla jednego pliku i jest to troche nieporeczne musialbym kombinowac z modyfikacja i dopisywaniem noweej reguly do pliku htaccess za kazdym tworzeniem nowej podstrony (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

W sumie nawet nie wiem czy htaccess na szu.pl dziala bo jak daje regule na jeden plik to i tak nie dziala (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
megawebmaster
post
Post #14





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Oczywiście chodzi mi o sytuację bez mod_rewrite. Bo z tym modem już da się to bezproblemowo zrobić i w ogóle zrzucić cały routing na apache'a (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
marcio
post
Post #15





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Cytat(megawebmaster @ 28.02.2009, 20:28:48 ) *
Oczywiście chodzi mi o sytuację bez mod_rewrite. Bo z tym modem już da się to bezproblemowo zrobić i w ogóle zrzucić cały routing na apache'a (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Czyli??^^
Go to the top of the page
+Quote Post
bim2
post
Post #16





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


A nie mozesz zrobić 1 pliku index.php i w nim uruchamianie podstron. Tak powinna działać aplikacja... i tak działają frameworki.
Go to the top of the page
+Quote Post
marcio
post
Post #17





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


NOm teraz juz jest zapozno bo mam napisany prawie caly PA i kilka modulow i musialbym przerabiac wszystko (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) mowi sie trudno chyba ze bede moze z czasem przepisywal cms'a.
Go to the top of the page
+Quote Post
megawebmaster
post
Post #18





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Czyli można ustawić reguły Mod_Rewrite w taki sposób, żeby odpowiadały naszym potrzebom, a Apache dostarczy je jako odpowiednie zmienne. Teoretycznie router w aplikacji jest nieco łatwiejszy w obsłudze, za to CHYBA zabiera nieco więcej mocy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
marcio
post
Post #19





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Cytat
Teoretycznie router w aplikacji jest nieco łatwiejszy w obsłudze

Dlatwgo tez wybralem ten sposob to raz a dwa to nie zawsze mod_rewrite jest dostepny.
Go to the top of the page
+Quote Post
Qbexus
post
Post #20





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 12.07.2006

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


A ja mam problem z tym uproszczaniem linków w ten sposób bo gubi się ścieżka do obrazków i styli jak to obejść ?
A jak jestem na domena.pl/index.php
to w tablicy jest pełna ścieżka co powoduje kompletne przeszeregowanie.

Ten post edytował Qbexus 1.04.2009, 21:36:09
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 3.10.2025 - 20:34