Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przyjazny URL i co dalej?, Problem po części rozwiązany
windman
post 19.02.2008, 18:47:58
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

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


skrypt "tłumaczący" przyjazne url'e należy trzymać w pliku index.php, ma tłumaczyć adresy i kierować zawsze na index1.php...
W index1.php jest już layout i cała reszta kodu, natomiast wszystkie linki muszą kierować znowu na index.php

Jest jeden problem, w tym wypadku adresy w stylu www.strona.pl/index.php/aktualnosci/sportowe/1234 działają, ale po przetłumaczeniu ich na postać ?...&...& i wysłaniu w nagłówku, w adresie przeglądarki widnieje znowu ?...&...&

jest na to rada?



Witam,

Pomyślałem, że czas zmienić brzydgie adresy na coś bardziej przyjaznego.
Po lekturze kilku artykułów wybrałem metodę, która na daną chwilę najbardziej mi się podoba, artukuł znajduje się tutaj:
http://wortal.php.pl/wortal/artykuly/pomys.../przyjazne_urle

Polega na podzieleniu adresu aktualnosci/sportowe/1323 na elementy tablicy i odpowiada to index.php?s=aktualnosci&dzial=sportowe&id=1232

Tak przetłumaczony adres wysyłam nagłówkiem i otwiera sie odpowiednia strona.

Ten post edytował windman 19.02.2008, 23:34:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
.radex
post 22.02.2008, 08:17:17
Post #2





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


Ale dlaczego chcesz to tłumaczyć? Nie możesz po prostu zostawić to w tablicy na potrzeby index.php? Dlaczego chcesz to wysyłać nagłówkiem?

aktualnosci/sportowe/1323/25 index.php powinien traktować jako na przykład:

  1. <?php
  2. include('modules/aktualnosci.php');
  3. aktualnosci::sportowe(array(1323,25));
  4. ?>


w nice urls chodzi o to, żeby dla index.php $_GET to była czarna magia, więc translator adresów to niezbyt dobry pomysł.


--------------------
blog | Tadam — minutnik do Pomodoro na Maka :)
Go to the top of the page
+Quote Post
bim2
post 22.02.2008, 11:54:44
Post #3





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

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


Dziwnie się za to jakoś zabierasz smile.gif
Ja bym dał w htaccess:
Cytat
RewriteRule /(.*)/([A-Za-z0-9]).html index.php?gets=$1&action=$2


Później w php dajesz:
  1. <?php
  2. $gets = explode('/', $_GET['gets']);
  3. foreach($gets AS $key => $value)
  4. {
  5. $exp = explode(',', $value);
  6. $_GET[$value[0]] = $value[1];
  7. }
  8. ?>

i linki wyglądają tak:
mojastrona.pl/nazwa_zmiennej,wartosc_zmiennej/[...]/Akcja.html
np.
site.pl/page,2/Articles.html
site.pl/id,208/view,print/Articles.html

:]

Ten post edytował bim2 22.02.2008, 11:55:56


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 17.06.2025 - 23:00