Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ustawienie przyjaznych URL'i dla CMS'a, jak pominąć w urlu podstronę wywołującą dany moduł...?
RaRu
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 17.02.2003
Skąd: Turośń Kościelna (Białystok)

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


Witam,

na swoich stronach do tworzenia przyjaznych URL'i wykorzystuję klasę: "NiceUrlsRouter" opisaną chociażby na tej stronie. Zawsze trzymałem sobie podstrony w oddzielnym katalogu i mogłem bez problemu uzyskać url'e typu:
  • domena.pl/strona1.html
  • domena.pl/strona2.html
  • itd...
Jestem w trakcie projektowania CMS'a i tutaj w przypadku gdy treści podstron będą pobierane z bazy danych to dla każdego modułu (strony statyczne, galerie, aktualności, download....) muszę stworzyć odpowiednio podstrony np: sites.php , gallery.php, news.php, download.php... dzięki którym będę mógł wyświetlić treści podstron, kategorie i zawartości kategorii z bazy danych. W takim przypadku moje url'e będą odpowiednio przybierały postać:
  • domena.pl/sites/strona1.html
  • domena.pl/sites/strona2.html
  • domena.pl/sites/stronax.html
  • domena.pl/gallery/galeria1/
  • domena.pl/gallery/galeria2/
  • domena.pl/gallery/galeriax/
  • domena.pl/news/kat1/news1.html
  • domena.pl/news/kat2/news2.html
  • domena.pl/news/kat2/newsx.html

.....

Moje pytanie jest następujące: w jaki sposób mógłbym pozbyć się z url'a odpowiednio: sites, gallery, news.. aby uzyskać np: dla strony statycznej wczytywanej z bazy danych url postaci:
  • domena.pl/strona1.html
Wiem, że jest możliwe takie rozwiązanie, tylko nie wiem jakie podejście trzeba zastosować aby uzyskać taki efekt, generalnie na podstawie urla rozpoznaję czy mam wczytać stronę statyczną (sites) czy aktualność (news) czy np galerię (gallery) gdyby z url'a zniknęły te parametry to nie bardzo wiem na jakiej podstawie wyświetlać (rozpoznać) co ma być aktualnie wczytane z bazy danych, czy strona statyczna, czy aktualność czy coś innego....

Będę wdzięczny za wszelką pomoc, pozdrawiam...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
johnson
post
Post #2





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 3.12.2004

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


Jeśli każdą stronę dodajesz przez panel administracyjny CMS to dodaj tam kolejny parametr jaki moduł należy użyć do wyświetlenia tej strony, zresztą tworząc każdą stronę w CMS musisz mieć przecież pole wyboru z jakiego modułu korzystasz, czyli np. Nowa strona statyczna, Nowa galeria itd. więc informację jaki moduł użyć do danej strony powinieneś mieć już w bazie.

Innymi słowy jeśli odpalasz stronę "oferta.html" to w bazie musisz mieć dane:
| Nazwa pliku | Moduł |
|--------------------------------------
| oferta.html | site.php |

ale moim zdaniem najlepszym rozwiązaniem i powszechnie stosowanym są linki w stylu "site-1.html" gdzie site jest nazwą modułu (albo aliasem) a 1 jest ID rekordu w bazie. Później przetwarzasz to przez .htaccess (najlepiej) albo php.
Go to the top of the page
+Quote Post

Posty w temacie


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: 7.10.2025 - 09:43