Avatar billede jimscheel Nybegynder
01. februar 2008 - 17:28 Der er 13 kommentarer og
1 løsning

Redirecting script

Hejsa

Nogen der evt skulle ligge inde med et script der kan redirecte besøgende til den rigtige side?

Nærmere forklaring. Jeg har i lang tid kørt en side på et alm. domæne. Nu har jeg flyttet siden over på et subdomæne under det alm. domæne.

Det jeg gerne vil er at når folk kommer fra google ind på min side, så skla scriptet redirecte til subdomænet automatisk ved at sætte supdomænet ind.

Linksene ser sådan ud: http://www.mitdomæne.dk/?p=2356 eller sådan http://mitdomæne.dk/?p=2356.

Scriptet skulle så gerne ændre adressen til dette: http://subdomæne.mitdomæne.dk/?p=2356

Nogen ideer?
Avatar billede sjh Nybegynder
01. februar 2008 - 18:01 #1
noget i den stil :

<?php
  $redirect = array("mitdomæne.dk", "www.mitdomæne.dk");
  if (in_array(strtolower($_SERVER["HTTP_HOST"]), $redirect) && isset($_GET["q"]))
  {
    header("Location: http://subdomæne.mitdomæne.dk$_SERVER[REQUEST_URI]");
    exit;
  }
?>
Avatar billede sjh Nybegynder
01. februar 2008 - 18:07 #2
Husk at der ikke skal være skråstreg ( / ) mellem mitdomæne.dk og $_SERVER[REQUEST_URI] da $_SERVER[REQUEST_URI] retuner /?q=xxxxx
Avatar billede sjh Nybegynder
01. februar 2008 - 18:09 #3
Skulle måske lige sige at du skal sette script i toppen af din "index.php" file ;)
Avatar billede sjh Nybegynder
01. februar 2008 - 18:11 #4
Du skal lige ændre:

$_GET["q"]
til
$_GET["p"]

P og Q er jo ikke det samme, min fejl :D
Avatar billede jimscheel Nybegynder
01. februar 2008 - 18:32 #5
skide godt sjh!!! - Scriptet virker :o)

Jeg vil lige høre... er det muligt at ligge 2 sec. pause ind med en redirect besked og opfordring til at opdatere bookmarks?

Og smider du lige et svar så jeg kan kaste nogle point i din retning?
Avatar billede sjh Nybegynder
01. februar 2008 - 18:52 #6
<?php
  $redirect = array("mitdomæne.dk", "www.mitdomæne.dk");
  if (in_array(strtolower($_SERVER["HTTP_HOST"]), $redirect) && isset($_GET["p"]))
  {
    $sec_url = 2; /* Venter antal sekunder */
    $new_url = "http://subdomæne.mitdomæne.dk/"; /* Dit nye mitdomæne */
   
    $new_url = trim($new_url, "/").$_SERVER["REQUEST_URI"];
    echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
      <head>
        <title>Redirect om '.$sec_url.' sekunder.</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <meta http-equiv="refresh" content="'.$sec_url.';url='.$new_url.'">
      </head>
      <body>
        <h1>Opdater dit link til : <a href="'.$new_url.'">'.$new_url.'</a></h1>
      </body>
    </html>';
    exit;
  }
?>
Avatar billede sjh Nybegynder
01. februar 2008 - 19:00 #7
Du kan nøjes med at give mig 60 point det passer bedre ;)
Avatar billede jimscheel Nybegynder
02. februar 2008 - 22:49 #8
Selvfølgelig skal du have de 120 point - for et godt, hurtigt og effektivt svar :o)
Avatar billede sjh Nybegynder
02. februar 2008 - 22:53 #9
ok da, jeg bukker og takker ;)
Avatar billede jimscheel Nybegynder
03. februar 2008 - 23:50 #10
ah man jeg må lige komme med et tillægsspørgsmål .... jeg har også nogle sider der henviser med www.mitdomæne.dk/?page_id=2045

Hvordan kan scriptes også fange disse henvisninger?
Avatar billede sjh Nybegynder
04. februar 2008 - 02:39 #11
Noget i den stil..

<?php
  $sec_url = 2; /* Venter antal sekunder */
  $new_url = "http://subdomæne.mitdomæne.dk/"; /* Dit nye mitdomæne */

  $array_reqiest  = array("p", "page_id"); /* /?p=numeric /?page_id=numeric */
  $array_redirect = array("mitdomæne.dk", "www.mitdomæne.dk");

  if (in_array(strtolower($_SERVER["HTTP_HOST"]), $array_redirect)
  {
    foreach($_GET as $key => $value)
    {
      if (in_array($key, $array_reqiest) && is_numeric($value))
      {
        $new_url = trim($new_url, "/").$_SERVER["REQUEST_URI"];
        echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
        <html>
          <head>
            <title>Redirect om '.$sec_url.' sekunder.</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
            <meta http-equiv="refresh" content="'.$sec_url.';url='.$new_url.'">
          </head>
          <body>
            <h1>Opdater dit link til : <a href="'.$new_url.'">'.$new_url.'</a></h1>
          </body>
        </html>';
        break;
        exit;
      }
    }
  }
?>
Avatar billede jimscheel Nybegynder
04. februar 2008 - 16:34 #12
jeg får denne fejl:

Parse error: syntax error, unexpected '{' i linje 9

her er hvad der står i mit script på linje 8-9-10

8:if (in_array(strtolower($_SERVER["HTTP_HOST"]), $array_redirect)
9: {
10: foreach($_GET as $key => $value)
Avatar billede sjh Nybegynder
04. februar 2008 - 19:34 #13
Så skulle den være der.. der manglede en parentes ")" og så lige ledt mere fix :D

<?php
  $sec_url = 2; /* Venter antal sekunder */
  $new_url = "http://subdomæne.mitdomæne.dk/"; /* Dit nye mitdomæne */

  $array_reqiest  = array("p", "page_id"); /* /?p=numeric /?page_id=numeric */
  $array_redirect = array("mitdomæne.dk", "www.mitdomæne.dk");

  if (in_array(strtolower($_SERVER["HTTP_HOST"]), $array_redirect) && isset($_GET))
  {
    foreach($_GET as $key => $value)
    {
      if (in_array($key, $array_reqiest) && is_numeric($value))
      {
        $new_url = trim($new_url, "/").$_SERVER["REQUEST_URI"];
        echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
        <html>
          <head>
            <title>Redirect om '.$sec_url.' sekunder.</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
            <meta http-equiv="refresh" content="'.$sec_url.';url='.$new_url.'">
          </head>
          <body>
            <h1>Opdater dit link til : <a href="'.$new_url.'">'.$new_url.'</a></h1>
          </body>
        </html>';
        break;
        exit;
      }
    }
  }
?>
Avatar billede jimscheel Nybegynder
04. februar 2008 - 22:20 #14
Du er seriøst min helt! - Takker rigtig mange gange!
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