Avatar billede ttopholm Nybegynder
09. februar 2005 - 16:38 Der er 12 kommentarer og
1 løsning

subdomain Redirect script

Hvorfor virker det her ikke:

$dom = $HTTP_HOST;
MyArray = explode(".", $dom);

if (MyArray[0] == "admin"){
    header("Location: http://www.newsite.com");
}

if (MyArray[0] == "hej")
{
    header("Location: http://www.newsite.dk");
}

Det er meningen at hvis der f.eks står admin.test.dk så skal den henvise til newsite.com og med hej, skal den henvise til newsite.dk
Avatar billede alister_crowley Nybegynder
09. februar 2005 - 16:40 #1
det hedder $_SERVER['HTTP_HOST'];

og du mangler $ foran MyArray flere steder.
Avatar billede alister_crowley Nybegynder
09. februar 2005 - 16:42 #2
Og du kan altid checke dit output med:

echo "<pre>";
print_r($MyArray);
echo "</pre>";

og se om det passer.
Avatar billede ttopholm Nybegynder
09. februar 2005 - 16:49 #3
Har sat det ind du sagde, også det nederste... for at se det og den skriver bare:
Array
(
    [0] =>
)
Avatar billede ttopholm Nybegynder
09. februar 2005 - 16:55 #4
Løste det.. stavefejl ;-)
Avatar billede ttopholm Nybegynder
09. februar 2005 - 16:55 #5
Smid et svar
Avatar billede ttopholm Nybegynder
09. februar 2005 - 16:57 #6
Hov.. Den redirecter ikke... selvom det er korrekt
Avatar billede alister_crowley Nybegynder
09. februar 2005 - 17:01 #7
har du checket outputtet med printr() ?

Og jeg samler ikke på points, så dem er du velkomme til at beholde.
Avatar billede ttopholm Nybegynder
09. februar 2005 - 17:02 #8
Løste det.. brugte
echo('<META HTTP-EQUIV="refresh" CONTENT="0;url=http://www.newsite.dk">');
Avatar billede alister_crowley Nybegynder
09. februar 2005 - 17:15 #9
eller bare sæt ob_start();  i toppen af din side, så undgår du header fejl. :P
Avatar billede ttopholm Nybegynder
09. februar 2005 - 17:21 #10
Okay....

Har lige et spg. mere

JEg har den her:
$result = mysql_query("SELECT * FROM subdomain where sub = '$dom'");

Og der er kun en post.
Skal jeg så kører det igennem en while løkke??

Er der ikke en mulighed for at bare at udskrive det...

Men samtidig sætte det ind i if-sætning hvis der nu ingen forekomster er. Håber du kan følge mig
Avatar billede alister_crowley Nybegynder
09. februar 2005 - 17:26 #11
næsten :)

$result = mysql_query("SELECT * FROM subdomain WHERE sub='$dom' LIMIT 1");  //tilføjer lige LIMIT for at være helt sikker på at vi får en.

Da du laver * henter du jo alting ud, og derfor er får du resultatet som et array
ved at skrive $row = mysql_fetch_array($result);

Men du behøver ikke while() løkken da der kun er 1 post, så kan du nøjes med

echo $row['hej']; atlså uden løkke.

Istedet for if() sætninger kan du tilføje

if(mysql_num_rows($result) == 0)
{
  echo "Der blev ikke fundet nogle poster";
}

altså som database check, ellers brug en switch eller elseif()
Avatar billede ttopholm Nybegynder
09. februar 2005 - 17:43 #12
Nu har jeg sat det hele sammen her:

<?php

$dom = $_SERVER['HTTP_HOST'];
$MyArray = explode(".",$dom);
$domain = $MyArray[1] & "." & $MyArray[2];

if ($MyArray[0] == "admin"){
    echo('<META HTTP-EQUIV="refresh" CONTENT="0;url=http://newsite.cpm">');
}

if ($MyArray[0] == "webmail")
{
    echo('<META HTTP-EQUIV="refresh" CONTENT="0;url=http://newsite.dk">');
}

$conn = mysql_connect("localhost", "xxx", "xxx");
mysql_select_db("db");
$result = mysql_query("SELECT * FROM subdomain where sub = '$dom'");
$row = mysql_fetch_array($result);


if(mysql_num_rows($result) == 0)
{
  echo('<META HTTP-EQUIV="refresh" CONTENT="0;url=http://www.'$domain'">');
}
else
{
    echo('<title>'$row['title']'</title>');
    echo('<frameset rows="0,100%" frameborder="NO" border="0" framespacing="0">');
    echo('<frame src="" name="topFrame" scrolling="NO" noresize>');
    echo('<frame src="http://www.'$row['domain']'/'$row['folder']'/" name="mainFrame">');
    echo('</frameset>'):
}


?>

Men nu vil den ikke engang redirecte... med dem der bare er i almindelig if-sætninger(Dem der ligger før databasen)
Avatar billede ttopholm Nybegynder
10. februar 2005 - 11:08 #13
Takker for hjælpen med det første.. har oprettet et nyt til det andet..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester