[PHP] Przyjazne linki, a przekierowanie |
[PHP] Przyjazne linki, a przekierowanie |
7.07.2013, 13:54:55
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 11.05.2013 Ostrzeżenie: (0%) |
Hej,
Posiadam system friendly URL's oparty o RewriteRule, w którym formatuję mi adres z postaci: gra.pl/index.php?page=logowanie&id1=coś&id2=coś, do przyjaznej przeglądającemu: gra.pl/logowanie/coś/coś. Wszystko jest z nim w porządku, problem pojawia się w sytuacji, gdy chcę dokonać przekierowania przy użyciu nagłówków. O ile, gdy mam link zawierający 1 element np. gra.pl/rejestracja/ to poniższy kod: zamienia mi poprawnie adres na gra.pl/start/. Problem pojawia się gdy elementów jest więcej niż jeden, a skrypt jest trzymany w katalogu. tzn. jeśli mam domyślnie adres: gra.pl/katalog_skryptu/logowanie/coś/ polecenie header('Location: start); przekształci mi link do postaci gra.pl/katalog_skryptu/logowanie/start/, a nie gra.pl/katalog_skryptu/start. wiem, że mogę zastosować header('Location: /start'); - jednak to nadpiszę katalog, w którym znajduję się skrypt, a musi on także być dostosowany do trzymania w podkatalogu. myślałem o utworzeniu stałej, przechowującej adres URL i dodającej się, przy location, jednak nie satysfakcjonuję mnie ta metoda. czy to wszelkie możliwości? -------------------- wszystkie drogi prowadzą do manuala :3
|
|
|
8.07.2013, 12:47:43
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Musisz zastosować adresowanie bezwzględne, żeby czegoś takiego nie było.
Cytat jednak to nadpiszę katalog, w którym znajduję się skrypt, a musi on także być dostosowany do trzymania w podkatalogu. Nie rozumiem? Cytat myślałem o utworzeniu stałej, przechowującej adres URL i dodającej się, przy location, jednak nie satysfakcjonuję mnie ta metoda. czy to wszelkie możliwości? To jest to samo, o czym pisałem na samym początku. -------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
8.07.2013, 15:20:49
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) |
A może ustaw sobie odpowiednie Rewrite Base?
-------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
8.07.2013, 15:42:00
Post
#4
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
RewriteBase, to nie od tego.
-------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
8.07.2013, 15:46:04
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) |
RewriteBase, to nie od tego. Wiesz, kolega w pierwszym poście tak to opisał, że do końca nie wiem o co mu chodzi. Ale sądząc po tym: Cytat gra.pl/katalog_skryptu/logowanie/start/, a nie gra.pl/katalog_skryptu/start/ Pomyślałem, że Rewrite Base na gra.pl/katalog_skryptu/ by pomogło. Ten post edytował b4rt3kk 8.07.2013, 15:47:34 -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
8.07.2013, 16:15:00
Post
#6
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 15 Dołączył: 19.11.2011 Ostrzeżenie: (0%) |
mod_rewrite akurat nie ma tu nic do rzeczy.
Nie ma innej metody jak podanie absolutnej ścieżki jednak możesz ją dynamicznie stworzyć: Kod $baseUrl = dirname($_SERVER['REQUEST_URI']); Kod header('Location: ' . $baseUrl . '/start');
|
|
|
8.07.2013, 18:35:35
Post
#7
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 11.05.2013 Ostrzeżenie: (0%) |
kolega gr56 dokładnie mnie zrozumiał, jednak zamiast przypisywania pełnej ścieżki, ustaliłem brak możliwości trzymania skryptu w pod katalogu
-------------------- wszystkie drogi prowadzą do manuala :3
|
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 00:07 |