vi-valdi
30.01.2004, 20:24:34
Prosę o pomoc w następującej sprawie:
Dwie domeny np. adres1.pl i adres2.pl wskazują jeden serwer wirtualny.
Dodatkowo każda subdomena (dowolny_string.adres1.pl itd) od powyższych domen wskazuje na ten sam serwer. W katalogu głównym serwera umieszczam plik index.php
[php:1:b12ba1219c]<?php
if ($GLOBALS["HTTP_HOST"] == "www.adres1.pl") { $url = "adres1/"; }
elseif ($GLOBALS["HTTP_HOST"] == "adres1.pl") { $url = "adres1/"; }
elseif ($GLOBALS["HTTP_HOST"] == "www.adres2.pl") { $url = "adres2/"; }
elseif ($GLOBALS["HTTP_HOST"] == "adres2.pl") { $url = "adres2/"; }
else { $url = "blad.php"; }
Header ("Location: $url");
?>[/php:1:b12ba1219c]
Czy ktoś ma pomysł jak napisać skrypt, żeby każdy adres z subdomeną wskazywał na katalog właściwy dla jej domeny, wtedy niepotrzemne były by warunki:
[php:1:b12ba1219c]<?php
if ($GLOBALS["HTTP_HOST"] == "www.adres1.pl") { $url = "adres1/"; }
elseif ($GLOBALS["HTTP_HOST"] == "www.adres1.pl") { $url = "adres1/"; }
?>[/php:1:b12ba1219c]
Jeżeli namieszałem i nie jasno przedstawiłem, to służę wyjaśnieniami.
Z góry dziekuję za wszelką pomoc.
seaquest
30.01.2004, 20:47:33
jest sposób
[php:1:eabef09f6e]<?php
$address = parse_url($_SERVER["HTTP_HOST"]);
$host = str_replace(array("www.",".pl","",$address['host']);
Header("Location: {$host}/");
?>[/php:1:eabef09f6e]
aha i nie mowi sie dziekuje, tylko daje sie punkta ;-)
vi-valdi
30.01.2004, 21:12:40
Dziękuję mówię bo jestem miły i uprzejmy, a punkta daję z założenia.
Jeden juz masz bo sprawe uprościłeś, ale nie do końca o to mi chodziło.
Owszem www z adresu ładnie znika, ale co będzie gdy wpiszę np.
www.blebble.adres1.pl to wyskoczy mi strona informująca o błędzie.
? Jak zrobić aby usówać początkowy (dowolny) string z adresu aby pozostało tylko adres1.pl
seaquest
30.01.2004, 21:18:21
ale jeżeli domena bleble.adres1.pl nie istnieje to wyswietli 404, a jezeli istnieje, to i tak otworzy sie katalog, dla ktorego przypisana jest domena
vi-valdi
30.01.2004, 21:28:49
OK. Wyjaśnię najprościej jak się da.
www.adres1.pl
bleble.adres1.pl
blabal.adres1.pl
dowolny_string.adres1.pl
...
www.dowolny_string.adres1.pl , ... itd
ma wskazywać na jeden katalog: adres1, a
www.adres2.pl
bleble.adres2.pl
blabal.adres2.pl
dowolny_string.adres2.pl
...
www.dowolny_string.adres2.pl , ... itd
ma wskazywać na jeden katalog: adres2
Chodzi o to żeby nie trzeba było dla każdej możliwej subdomeny wpisywac warunku tylko zrobić to raz hurtowo.
seaquest
30.01.2004, 21:48:18
kod
[php:1:7a0d8d8484]
<?php
$address = parse_url($_SERVER["HTTP_HOST"]);
$host = explode(".",$host);
$max = count($host)-2;
$head = $host[$max];
Header("Location: {$head}/");
?>[/php:1:7a0d8d8484]
teraz to gosc moze nawet wpisac ble.ble.ble.ble.adres1.pl albo moze com ;-)
flegmucha
11.02.2004, 21:25:38
A może by tak skorzystać ze switch($HTTP_HOST) ?
enceladus
11.02.2004, 22:05:24
A po co zaprzęgać do tego php - nie lepiej zrobić to na poziomie konfiguracji virtualek w apache, ewentualnie przez mod_rewrite

?
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.