nuno_couto Posted July 4, 2006 at 09:05 PM Report #36243 Posted July 4, 2006 at 09:05 PM Boas. Alguem me sabe dizer se é possível fazer com que um script vá buscar o domínio existente no url? Por exemplo, apartir do url http://clientes.vyzen.com/index.php, ser obtido o domínio vyzen.com? portalmundial.net »» criamos sites
pedrotuga Posted July 4, 2006 at 10:14 PM Report #36257 Posted July 4, 2006 at 10:14 PM yap... ainda a semana passada fiz isso... agora vou tomar uma bica... daqui a pouco já te afixo aqui o código.
Gurzi Posted July 5, 2006 at 09:45 AM Report #36300 Posted July 5, 2006 at 09:45 AM Tenta lá assim : <?php $url= $_SERVER['HTTP_HOST']; $dominio = preg_match("/([^a-z]+)([a-z]+).([a-z]{2,4})/",$url,$matches); echo "dominio = $matches[0]"; ?> edit : como vês esse aparecia o pontinho antes. Estou aprender as regular expressions, não são nada fáceis e já consegui por direito. Usei foi 2 linhas e suponho que em uma fazia isso á vontade <?php $url= $_SERVER['HTTP_HOST']; $dominio = preg_match("/[^a-z][a-z]*.[a-z]*/",$url,$matches); $dominio = preg_match("/[^\W][a-z]*.[a-z]+/",$matches[0],$dom); echo "dominio = $dom[0]"; ?>
nuno_couto Posted July 5, 2006 at 10:01 PM Author Report #36457 Posted July 5, 2006 at 10:01 PM Obrigado pela ajuda. Optei pelo seguinte código: (neste caso tenho dois domínios a apontar para um só alojamento e isto permite-me ter os dois sites a "funcionar" como sites diferentes. Apesar de vyzen.com e portalmundial.net funcionarem como um só domínio, o script redirecciona consoante o domínio do url) <?php $url= $_SERVER['HTTP_HOST']; preg_match('@^(?:http://)?([^/]+)@i', "$url", $matches); $host = $matches[1]; // get last two segments of host name preg_match('/[^.]+\.[^.]+$/', $host, $matches); switch ($matches[0]) { case "vyzen.com": $redirect="http://vyzen.vyzen.com"; break; case "portalmundial.net": $redirect="http://portalmundial.portalmundial.net"; break; default: $redirect="http://vyzen.vyzen.com"; } header("location: $redirect"); ?> portalmundial.net »» criamos sites
Gurzi Posted July 5, 2006 at 10:40 PM Report #36467 Posted July 5, 2006 at 10:40 PM Explica-me uma coisa: <?php $url= $_SERVER['HTTP_HOST']; preg_match('@^(?:http://)?([^/]+)@i', "$url", $matches); $host = $matches[1]; Podes me explicar o que faz essas regular expressions ? è que pelo que aprendi tens que inicializar com uma barra / ou seja preg_match('/here/'); Depois usas o ponto de interrogação que quer dizer 0 ou 1 mas a referir-te a que ? aos : que vem a seguir ?
nuno_couto Posted July 5, 2006 at 11:25 PM Author Report #36475 Posted July 5, 2006 at 11:25 PM http://www.php.net/preg_match Vai aqui... tem em baixo um exemplo que vai buscar exactamente o que eu queria... só alterei a parte que faz o redireccionamento Sinceramente não conheço os comandos e apenas copiei o código, mas funciona muito bem se quiseres experimentar escreve vê os seguintes endereços... portalmundial.net e vyzen.com e verifica que apontam para o mesmo sitio... e depois faz vyzen.com/dominio.php e portalmundial.net/dominio.php Se reparares, abres o mesmo ficheiro e ele redirecciona-te consoante o domínio, ou seja, vou ter dois sites distintos, apartir de um só alojamento que tem dois domínios parqueados. portalmundial.net »» criamos sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now