Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nietypowe przekierowanie
Forum PHP.pl > Forum > PHP
oxygenium79
Takie wyzwanie:
Jak zrobić przekierowanie (w dowolne miejsce w sieci), które działa wtedy i tylko wtedy, gdy internauta wpisze w okno przeglądarki adres strony głownej, czyli www.domena.pl?
Chodzi o to, żeby przekierowanie nie działało w żadnym innym wypadku, np. gdy internauta znajdzie się na stronach serwisu klikając w link do jakiejś podstrony (np. www.domena.pl/index.php?zmienna_x=12&zmienna_y=343287 czy też www.domena.pl/jakis_katalog/jakis_podkatalog itp.), a gdy już się tam znajdzie - żeby nie był przekierowywany przy wejściu na stronę główną podczas zwiedzania serwisu.

Dla ścisłości - serwis jest postawiony na Joomli, ale oczywiście wolałbym znać ogólne rozwiązanie zagwozdki :-)
ayeo
Nie wiem czy dobrze rozumiem o co chodzi, ale jeśli tak to sprawdzaj po prostu $_SERVER['HTTP_REFERER']
Pozdrawiam!
oscar17
Tak jak wyżej kolega napisał - sprawdzasz czy jest referer, jeśli nie to znaczy że wpisane z palca (najprawdopodobniej) i wtedy przekierowanie.

Ale można to by np. rozegrać też tak - sprawdzamy czy wywołany jest plik index.php i czy nie ma żadnych argumentów (query_string), jeśli tak to przekierowujemy.
Jeśli był query string lub zostanie otwarty inny plik z serwera to możemy dodać zmienną sesyjną lub jakieś ciasteczko (zależnie jak długo ma mieć user dostęp do głównej domeny) mówiące o tym, że może już wchodzić na główną stronę i dodać wtedy w IFie, albo wewnątrz kod sprawdzający czy takie ciastko/zmienna istniej, jeśli tak to nie przekierowujemy...
  1. <?php
  2. if(strpos($_SERVER['REQUEST_URI'], "index.php") && (!$_SERVER['QUERY_STRING']))
  3. {
  4. //sprawdzenie czy jest ciasteczko, jeśli nie to wykonaj header
  5. header("Location: http:www.google.com");
  6. }
  7. ?>
oxygenium79
Dzięki serdeczne, pierwsze rozwiązanie się sprawdza świetnie, drugie zostawię sobie na rezerwę :-)
Pozdrawiam!
BlueMan
To może warto z .htaccess skorzystać?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.