![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 0 Dołączył: 4.09.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam
Otóż od jakiegoś czasu zastanawiam się jak zrobić dobry system menu. Chodzi mi o coś podobnego jak na wortalu PHP. Może nie tyle mam problem z napisaniem tego, po prostu nie wiem jak powinna wyglądać struktura takiego menu, jakie dane przekazywać w adresach, co zrobić żeby to działało jak najbardziej efektywnie. Poza tym mam jeszcze jedno pytanie. Jak dotąd adresy na mojej stronie wyglądały mniej więcej tak: Kod http://strona.pl/dzial-5.html lub Kod http://strona.pl/tutorial-74.html Co zrobić, żeby zamiast słowa kluczowego i identyfikatora wyświetlał się tytuł danego artykułu lub nazwa działu? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze musisz użyć mod_rewrite i przekierować wszystkie żądania do index.php.
W index.php sprawdzasz co masz w zmiennej $_SERVER['REQUEST_URI'] i dopasowujesz do jakiegoś wzorca za pomocą wyrażeń regularnych lub po prostu tworzysz tablicę mapowań adresów na odpowiednią treść. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Co zrobić? Na jak najmniej pętlach, unikać rekurencji itp - wtedy jest najbardziej efektywnie. Jak zrobić? Spójrz do źródła html strony w przeglądarce i tam zauważysz co jest generowane pętlami, a co nie (IMG:style_emoticons/default/winksmiley.jpg)
Linki - mod_rewrite (.htaccess) i $_SERVER['PATH_INFO'] lub (co bardziej wolę) zrobić jednego GETa np: ?m=news/tytul_newsa. @UP - kiedy zaczynałem to nie było jeszcze żadnej odp, wyprzedziłeś mnie (IMG:style_emoticons/default/biggrin.gif) Ten post edytował Luneth 19.08.2010, 18:36:52 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 17 Dołączył: 4.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 0 Dołączył: 4.09.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Edit: Chciałem zamienić index.php w adresie na coś bardziej przyjaznego. Niestety ForceType doprowadza mnie do szału. Robię wszystko jak należy: do .htaccess dopisuję:
Kod <Files indexp> ForceType application/x-httpd-php </Files> zmieniam index.php na samo index i nic. Nie działa. Próbowałem też: Kod AddHandler server-parsed .php <Files index> SetHandler application/x-httpd-php </Files> AddHandler application/x-httpd-php .php i to samo. Czy to może być wina boo.pl? Czy ktoś przypadkiem nie wie czy mają tam odpowiednie ustawienia dyrektywy AllowOverride? Ten post edytował zurek 20.08.2010, 23:29:16 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Weź ustaw w htaccess jakąś byle jaką treść, żeby na 100% wywaliło błąd, jakiś losowy ciąg znaków. Jeśli wyskoczy Internal Server Error no to znaczy, że mod rewrite działa, jeśli strona zachowa się normalnie - nie działa.
Ten post edytował Luneth 22.08.2010, 00:11:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 16:11 |