Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Url Translator
Forum PHP.pl > Forum > PHP > Pro > Archiwum Pro
M4chu
Problem nie nowy ale na tym forum chyba jeszcze nie poruszany: tlumaczenie (prawie) calych urli. Zamiast opisywac podam pare przykladow:

localhost/blog/2005/1/notka.html
localhost/galeria/studniowka/klasa
localhost/nowosci/news.html
localhost/artykuly/1 (2, 3 ... )

I teraz zamienienie tego na 'systemowe' urle np
  • blog/2005/1/notka.html <=> gallery/viewone/123 # 123 to id, caly url bo notka.html nam nic nie mowi
  • galeria/studniowka/klasa <=> gallery/viewcategory/10 # j/w
  • artykuly/1 <=> articles/viewone/1 # dynamiczny - znamy id
No i teraz jak to sobie zrobic wygodne zarzadzanie, dla dynamicznych uzywaloby sie wildcard np blog/pokaz/2005/10 -> blog/pokaz/{1}/{2} <=> blog/show/{1}/{2} czy ?action=show&year={1}&month={2}

Kolejny problem - kozystanie z juz uzytych 'wirtualnych' url, przydaje sie przy kategoriach np mam sobie url artykuly/php/podstawy/ i dodaje nowy artykul - system sam tworzy schemat dla niego (.../artykul.html). Albo chce sobie zmienic schemat z artykuly/php-podstawy na artykuly/php/podstawy - automatyczna zmiana dla kazdego schematu ktory z tego kozysta.

Jakies pomysly? smile.gif
bigZbig
Widze, ze nikt nie ma pomyslow, ale to pewnie dlatego ze trudno sie domyslic na czym polega wlasciwie Twoj problem bo ja podejrzewam, ze chcialbys aby Ci ktos podpowiedzial jak powinna wygladac implementacja mechanizmu, ktory sam rozpozna schemat zastosowany w danym adresie i przerobi go automatycznie na inny wybrany przez Ciebie.

No cuz najprosciej chyba uzyc wyrazen regularnych. To jest oczywiscie odpowiedz bardzo nieprecyzyjna, ale pytanie tez jest malo konkretne.
M4chu
Juz w sumie troche zrobilem, ale moze jeszcze raz: sa 2 typy linki: wirtualne (nice url) i systemowe (interpretowane przez system np news/viewall czy ?action=viewall), przyklady:
Kod
wirtualny | systemowy
news/test.html | news/viewone/1
news/archiwum/{1} | news/viewbyyear/{1}   np news/archiwum/2005
news/archiwum/{1}/{2} | news/viewbymonth/{1}/{2}   np news/archiwum/2005/3

Wyrazenie regularne do podstawienia mam (dzieki Fido!) tylko teraz pytanie gdzie trzymac linki i jak optymalnie je wyciagac (przy baze danych i wildcarcach to by bylo duzo zapytan).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.