Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Przekierowanie na inną stronę.
MasterChest
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 16.01.2013

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


Witam.

Potrzebuję zrobić przekierowanie z bloga na wordpressie na inną stronę.
Załóżmy mam przykładowy post wordpress.com/jakis-post i chciałbym aby po przekierowaniu na inną domenę URL również tak samo wyglądał czyli domena.pl/jakis-post.
Dodatkowo chciałbym to 'jakis-post' umieścić w treści strony np. przy labelu 'tytuł'.

Wydaje mi się, że nie jest to sporo linijek kodu, próbowałem znaleźć coś działającego na tej zasadzie w internecie lecz zupełnie nie wiem pod jaką frazą szukać.
Czy mógłby mi ktoś pomóc?

Pozdrawiam serdecznie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PiNkOs
post
Post #2





Grupa: Zarejestrowani
Postów: 76
Pomógł: 4
Dołączył: 27.02.2009

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


Do strony w Wordpressie dodaj poniższy kod:

  1. <?php
  2. if(isset($_SERVER['HTTP_REFERER'])){
  3. $uri = rtrim($_SERVER['HTTP_REFERER'], '/\\');
  4. $fileNparams = explode('/',$uri);
  5. $ile = count($fileNparams);
  6. $generate_url = 'http://domena.pl/skrypt/'.$fileNparams[$ile-1];
  7.  
  8. header("Location: ".$generate_url);
  9. }else{
  10. echo 'Zmienna $_SERVER[\'HTTP_REFERER\'] pusta!';
  11. }
  12. ?>


Zastosowałem HTTP_REFERER. Zmienna ta zawiera adres, z którego nastąpiło wejście. Następnie przy użyciu explode() nastąpiło podzielenie adresu na elementy rozgraniczone slashem i zapisane w tablicy. Czyli np. jeżeli będzie to adres http://jakas_strona.pl/jakies_cos to zostanie to odpowiednio podzielone na [0] http: |[1]|[2] jakas_strona.pl |[3] jakies_cos. W tym wypadku interesuje nas element jakies_cos, który znajduje się na ostatnim miejscu w tablicy. Dlatego zastosowałem następnie funkcję count(), która zlicza ilość elementów tablicy. Kolejnym krokiem jest już przyklejenie ostatniego elementu tablicy do twojego linku. Z racji iż elementy tablicy numerowane są od zera, należy od ilość elementów tablicy odjąć jeden ($ile-1). No i ostatni krok to przekierowanie przy użyciu header("Location: ...").

Istnieją lepsze rozwiązania (np. wyrażenia regularne), w których można przewidzieć wszystkie przypadku, ale wcześniej użyłeś explode() dlatego nie chciałem mieszać.

Sprawa się komplikuje gdy wchodzisz z linku np. jakas_strona/zywnosc/owoce/jablka, wtedy zostanie pobrana sama wartość jablka. Dlatego, aby skrypt działał jak należy -----> Wyrażenia regularne

Mam nadzieję, że cię zrozumiałem i oto ci chodziło (IMG:style_emoticons/default/wink.gif)

Ten post edytował PiNkOs 28.02.2013, 11:14:37
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 12:51