Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Sprawdzanie url strony
Forum PHP.pl > Forum > Przedszkole
Gizmon
Witam. Ostatnio przeniosłem stronę na inny serwer. Mam funkcję która w przypadku wykrycia, że użytkownik wchodzi na stronę bez dopiski www to automatycznie go przenosi. Skrypt wygląda tak :
  1. <?php
  2. function selfURL() {
  3. $s = empty($_SERVER["HTTPS"]) ? ''
  4. : ($_SERVER["HTTPS"] == "on") ? "s"
  5. : "";
  6. $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
  7. $port = ($_SERVER["SERVER_PORT"] == "80") ? ""
  8. : (":".$_SERVER["SERVER_PORT"]);
  9. return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
  10. }
  11. function strleft($s1, $s2) {
  12. return substr($s1, 0, strpos($s1, $s2));
  13. }
  14.  
  15. function sprawdzwww()
  16. {
  17. $adresstrony = selfURL();
  18. $adreszwww = substr($adresstrony, 7, 3);
  19. if($adreszwww!= "www")
  20. {
  21. $reszta = substr($adresstrony, 26);
  22. $adresstronywiec = "http://www.xxx.pl". $reszta;
  23. echo "<html><head><meta http-equiv="Refresh" content="0.01; url=$adresstronywiec" />";
  24. }
  25. }
  26. ?>

Wcześniej działało, po przenosinach już niestety nie. Po zrobieniu testu okazuje się że wchodząc przez http://xxx.pl skrypt widzi taki adres strony http://www.xxx.pl. I tutaj pytanie - jaka opcja w konfiguracji serwera sprawia, że skrypt widzi adres z www pomimo, że tego www tam nie ma.
KotDomowy
Jak stoi na Apache'u to jest taka dyrektywa ServerAlias w konfiguracji wirtualnego hosta. Zapewne masz tam wpisane www.xxx.pl
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.