Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> nietypowe przekierowanie
oxygenium79
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.06.2008

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


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 :-)
Go to the top of the page
+Quote Post
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Nie wiem czy dobrze rozumiem o co chodzi, ale jeśli tak to sprawdzaj po prostu $_SERVER['HTTP_REFERER']
Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
oscar17
post
Post #3





Grupa: Zarejestrowani
Postów: 102
Pomógł: 22
Dołączył: 3.03.2008

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


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. ?>
Go to the top of the page
+Quote Post
oxygenium79
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.06.2008

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


Dzięki serdeczne, pierwsze rozwiązanie się sprawdza świetnie, drugie zostawię sobie na rezerwę :-)
Pozdrawiam!
Go to the top of the page
+Quote Post
BlueMan
post
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 3.06.2003
Skąd: Sosnowiec

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


To może warto z .htaccess skorzystać?
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 Aktualny czas: 19.08.2025 - 10:13