Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> przekierowanie na właściwy link przy niestniejącym pliku
Avatarus
post 20.06.2008, 10:55:21
Post #1





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

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


Witam
Ostatnio przekonwertowałem forum z phpbb na smf. No i jest taki problem.
Przykładowy link z starego phpbb: http://www.silkroadonline.com.pl/phpbb/vie...c.php?t=123#123
Przykładowy link z nowego smf: http://www.silkroadonline.com.pl/forum/index.php?topic=123

niestety forum phpbb było długo dlatego też jest sporo starych linków. Jak zrobić żeby automatycznie konwertował te linki ze starych do nowych?

wymyśliłem coś takigo że zrobiłem katalog phpbb w nim plik viewtopic.php i on pobiera zmienna $_GET[t] z linku i miał za pomocą header ("location ....
przenosić do poprawnego linku na forum. Tylko że nie wiem czemu przed numer topicu wstawia się #, zawsze niezależnie od tego jak wyciągam ten numer topicu (próbowałem explodem na get[t], preg_matchem itp i dalej jest ten znak # przed numerem topicu).

Jak można temu zaradzić?
Może lepiej skorzystać z .htaccess?
Jeśli tak to jak napisać poprawnie tę formułę?

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
thornag
post 20.06.2008, 11:16:41
Post #2





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


Pokaz kod ktorym to robisz.


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post
Avatarus
post 20.06.2008, 11:22:02
Post #3





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

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


było kilka wersji,ostatnia:
Kod
<?php
$wyniki=explode('#',$_GET[p]);
header ('Location: http://www.silkroadonline.com.pl/forum/index.php?topic='.$wyniki[1]);
?>


Ten post edytował Avatarus 20.06.2008, 11:22:35


--------------------
Go to the top of the page
+Quote Post
wlamywacz
post 20.06.2008, 13:59:24
Post #4





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Wszystkiego dane po chaszu (#) są niedostępne dla php. Używa go przeglądarka i js
Go to the top of the page
+Quote Post
matx132
post 20.06.2008, 14:16:07
Post #5





Grupa: Zarejestrowani
Postów: 243
Pomógł: 19
Dołączył: 12.09.2005

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


Cytat(Avatarus @ 20.06.2008, 10:22:02 ) *
było kilka wersji,ostatnia:
Kod
<?php
$wyniki=explode('#',$_GET[p]);
header ('Location: http://www.silkroadonline.com.pl/forum/index.php?topic='.$wyniki[1]);
?>



zrób to lepiej tak
Kod
<?php
$wyniki=$_GET['t'];
header ('Location: http://www.silkroadonline.com.pl/forum/index.php?topic='.$wyniki);
?>


i działać będzie dobrze
Go to the top of the page
+Quote Post
batman
post 20.06.2008, 14:18:09
Post #6





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Cytat(wlamywacz @ 20.06.2008, 14:59:24 ) *
Wszystkiego dane po chaszu (#) są niedostępne dla php. Używa go przeglądarka i js

Niestety nie mogę się z Tobą zgodzić: parse_url


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
wlamywacz
post 20.06.2008, 16:40:51
Post #7





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Batman

Aj mój błąd. Do dzisiaj nie znałem tej funkcji mimo iż potrzebna mi jest aktualnie w mojej aplikacji sciana.gif
Go to the top of the page
+Quote Post
Kicok
post 20.06.2008, 16:52:26
Post #8





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Cytat(batman @ 20.06.2008, 15:18:09 ) *
Niestety nie mogę się z Tobą zgodzić: parse_url


Fakt, ta funkcja potrafi rozpoznać #kotwicę w stringu, ale co to ma wspólnego z tematem? Tak jak mówił włamywacz: żadna #kotwica wpisana w okienko adresu przeglądarki nie dotrze do PHP, czyli w $_GET jej nie będzie.


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
wlamywacz
post 20.06.2008, 18:01:00
Post #9





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Informacja: Funkcja nie działa na relatywnych URLach.

Czyli jak mam wildcarding u siebie to chyba to nie zadziała tongue.gif
Go to the top of the page
+Quote Post
batman
post 21.06.2008, 17:03:41
Post #10





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Cytat(Kicok @ 20.06.2008, 17:52:26 ) *
Fakt, ta funkcja potrafi rozpoznać #kotwicę w stringu, ale co to ma wspólnego z tematem?

Z tematem nie ma wiele wspólnego, ale prostuje to tezę, że php nie ma dostępu do danych po znaku #. Ma ale nie w przypadku adresu, który jest wpisany do przeglądarki.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
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: 6.07.2025 - 09:22