Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Przyjazne linki, a przekierowanie
SlimShady
post 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:
  1. header('Location: start);

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
Go to the top of the page
+Quote Post
erix
post 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!
Go to the top of the page
+Quote Post
b4rt3kk
post 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.
Go to the top of the page
+Quote Post
erix
post 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. tongue.gif


--------------------

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!
Go to the top of the page
+Quote Post
b4rt3kk
post 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%)
-----


Cytat(erix @ 8.07.2013, 16:42:00 ) *
RewriteBase, to nie od tego. tongue.gif


Wiesz, kolega w pierwszym poście tak to opisał, że do końca nie wiem o co mu chodzi. smile.gif 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.
Go to the top of the page
+Quote Post
gr56
post 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');
Go to the top of the page
+Quote Post
SlimShady
post 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 wink.gif


--------------------
wszystkie drogi prowadzą do manuala :3
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 02:19