![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Piszę dla siebie stronkę internetową, postanowiłem zastosować "przyjazne linki".
Linki jakie chcę otrzymać to przykładowo http://host/akcja/ (np. http://localhost/komentarze/ ) Więc według tego napisałem coś takiego (.htaccess) : Kod RewriteEngine On RewriteRule ^forum/$ forum/index.php RewriteRule ^([A-Za-z0-9]+)/$ index.php?action=$1 I tutaj póki co wszystko dobrze działa, przekierowania są dobrze wykonywane. Ale na stronie dodałem linki typu: dodaj/ forum/ komentarze/ Jeżeli raz kliknę - wszystko jest ok, i adres przybiera odpowiednią wartość np. http://localhost/dodaj/ Gdy teraz (po zmianie adresu) kliknę np. na inny link dostanę coś takiego: http://localhost/dodaj/forum/ (co mnie w ogóle nie zadowala (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) ) Wymyśliłem aby linki zrobić jako bezwzględne - nie podoba mi się to rozwiązanie i tutaj pytanie czy da się inaczej. A linki bezwzględne wymyśliłem tak: Mam jakby szablon i mam linki w postaci: Skrypt podmienia na odpowiednią wartość czyli np.: Teraz pojawił się problem, o ile ze statycznymi plikami wszystko jest ok, tak z dynamicznie generowanymi (np. newsy) nie mam pojęcia jak to pogodzić. (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 289 Pomógł: 77 Dołączył: 5.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
może pomoże Ci metoda, którą ja stosuje. Generalnie do tworzenia linków mam funkcję np.
get_link((string)$module, (string)$action, (int)$param); przykład: get_link('forum',NULL,NULL); funkcja to zwykła podmiana danych działająca na zasadzie:
a w htaccess Kod RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)/([0-9]+)$ index.php?module=$1&action=$2&arg=$3 [L] RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)$ index.php?module=$1&action=$2 [L] RewriteRule ^([a-zA-Z]+)$ index.php?module=$1 [L] generalnie próbowałem wzorować się na symfony, jak na moje potrzeby to się sprawdza, może Tobie się przyda, pozdr |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
może pomoże Ci metoda, którą ja stosuje. Generalnie do tworzenia linków mam funkcję np. get_link((string)$module, (string)$action, (int)$param); przykład: get_link('forum',NULL,NULL); funkcja to zwykła podmiana danych działająca na zasadzie:
a w htaccess Kod RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)/([0-9]+)$ index.php?module=$1&action=$2&arg=$3 [L] RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)$ index.php?module=$1&action=$2 [L] RewriteRule ^([a-zA-Z]+)$ index.php?module=$1 [L] generalnie próbowałem wzorować się na symfony, jak na moje potrzeby to się sprawdza, może Tobie się przyda, pozdr Jakbyś nie zauważył to napisałem coś równie prostego, i od razu cały szablon jadę. ;p Chyba będę musiał jednak coś sam wymyślić, a bardzo chcę się ustrzec ajax'a bo stronę planuję na większą skalę a jak wiadomo ajax ma być dodatkiem a nie podstawą strony. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) (a zawsze ktoś js może mieć wyłączone) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 12:32 |