Redirect Script troubles

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Redirect Script troubles

    Hello,

    ref: www.soulengineer.com

    Habe für meine Site ein einfaches PHP Script installiert. Leider funktioniert es nicht..!!!? Habe das gleiche Script auf einen anderen Linux Server ausprobiert und siehe es funktioniert...keine Ahnung Warum?

    Funktion:
    das Script/Funktion (redirect.php) erkennt die Einstellugen des Browsers und leitet die URL zur entsprechenden Seite (Englisch oder Deutsch) um, damit findet eine automatische Sprachwahl statt.

    Struktur :
    Im Haupt-Index.html befindet sich ein kleines Script, welches das PHP Script aktiviert (redirect.php). Je nach erkannte Einstellung leitet das Script die URL entweder in die Directory /en/ wo die englische Version des index.html liegt, oder /de/ wo die deutsche Version liegt.

    Haupt index.html und redirect.php sind in der gleichen Directory.
    die entsprechende Sprach index.html sind in der /en/ bzw. /de/.

    Problem
    Keine Ahnung...!? Habe Alles schon probiert???


    Hier noch der Code im Haupt 'index.html':

    <?php
    require_once 'redirect.php';

    if (stristr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'de')) {
    redirect('/de/');
    } else {
    redirect('/en/');
    }

    ?>


    Hier noch der Code redirect.php:

    <?php

    function redirect($url)
    {
    global $HTTP_SERVER_VARS;

    if (!preg_match('@^\w+://@', $url)) {
    // HTTP/1.1 requires an absolute url
    $new_url = ($HTTP_SERVER_VARS['HTTPS']=='on' ? 'https://' : 'http://').
    $HTTP_SERVER_VARS['HTTP_HOST'];
    if ($HTTP_SERVER_VARS['SERVER_PORT'] != ($HTTP_SERVER_VARS['HTTPS']=='on' ? 443 : 80)) {
    $new_url .= ':'.$HTTP_SERVER_VARS['SERVER_PORT'];
    }
    if ($url{0} != '/') {
    $dir = dirname($HTTP_SERVER_VARS['PHP_SELF']);
    $new_url .= $dir;
    if($dir != '/') $new_url .= '/';
    }
    $new_url .= $url;
    $els = explode('/', $new_url);
    $res = array();
    foreach ($els as $el) {
    if ($el == '.') continue;
    if ($el == '..') { array_pop($res); continue; }
    $res[] = $el;
    }
    $url = join('/', $res);
    }
    eregi('^HTTP/(.*)$', $HTTP_SERVER_VARS['SERVER_PROTOCOL'], $res);
    $http_version = doubleval($res[1]);
    if ($http_version >= 1.1)
    header("HTTP/1.1 303 See Other");
    header("Location: $url");
    exit;
    }

    ?>


    Für Lösungsvorschläge bin ich sehr dankbar...ich bin am Ende...
    Gruss
    Marco

  • #2
    Ergaenzung zu redirect

    redirect.php auf
    Linux Server Apache/1.3.26
    PHP Dateien mit Dreamweaver auf MacOS editiert

    Kommentar


    • #3
      lass dir mal den quelltext anzeigen und was siehst du ?
      PHP-Code:
      <?php
      require_once 'redirect.php';

      if (
      stristr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'de')) {
          
      redirect('/de/');
      } else {
          
      redirect('/en/');
      }

      ?>
      also wird dein script NICHT geparst, denn sonst würdest du den code nicht sehen können. kein php auf dem server?

      gruss
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        PHP auf Server?

        Habe schon nachgefragt..
        Die Hostingfirma hat mich versichert, dass PHP Scripte unterstützt werden...?
        Wie kann ich das checken...!?

        Kommentar


        • #5
          klingt vielleicht ziemlich blöde aber lass mal in zeile eins hinter dem <? das PHP weg, ich habe mal an meinem apache rumgespielt, und da konnte der mit dem <?php auch nichts mehr anfangen, vielleicht liegt da der hase im pfeffer?

          gruss
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            &lt;?

            hat leider auch nicht funktioniert...
            Gibt es eine Möglichkeit die PHP Fähigkeit des Servers zu checken..?

            Gruss Marco

            Kommentar


            • #7
              PHP-Code:
              phpinfo(); 
              gibt alle aktuellen konfigurationen von
              php aus.
              PHP-Code:
              phpversion() 
              Gibt einen String zurück, der die Version des installierten
              PHP-Parsers enthält.

              Wo kämen wir hin, wenn jeder sagte: Wo kämen wir hin? und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

              Kommentar


              • #8
                Re: Redirect Script troubles

                Original geschrieben von soulengineer
                Hier noch der Code im Haupt 'index.html':

                PHP-Code:
                <?php
                require_once 'redirect.php';

                if (
                stristr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'de')) {
                redirect('/de/');
                } else {
                redirect('/en/');
                }

                ?>
                Du schreibst, der Code befindet sich in der index.html ... wenn dem so ist, ist es natürlich keine wunder, dass der PHP-Code nicht ausgeführt wird. Nenn die Datei in index.php um und es sollte ohne Probs laufen.
                Wobei es mich wundert, dass diese Seite auf einem Apache unter Linux funktioniert hat ....
                [color=red]Geht nicht[/color] ist keine Fehlermeldung

                Kommentar


                • #9
                  Re: Re: Redirect Script troubles

                  Original geschrieben von Big Chief
                  Wobei es mich wundert, dass diese Seite auf einem Apache unter Linux funktioniert hat ....
                  wenn dort der webserver so eingestellt war, dass auch dateien mit der endung .html durch den php-parser geschickt werden, kein problem.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Du schreibst, der Code befindet sich in der index.html
                    auaaaaaahhh, man sollte die postings wirklich genauer lesen.

                    gruss
                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      Re: Re: Re: Redirect Script troubles

                      Original geschrieben von wahsaga
                      wenn dort der webserver so eingestellt war, dass auch dateien mit der endung .html durch den php-parser geschickt werden, kein problem.
                      oki, und wieder was gelernt ... habe bisher noch wenig bis keine Erfahrung mit der Einstellung von Servern sammeln dürfen
                      [color=red]Geht nicht[/color] ist keine Fehlermeldung

                      Kommentar


                      • #12
                        redirect

                        HURRA HURRA, es klappt!

                        Einen herzlichen Dank an alle und bis bald
                        Marco

                        Kommentar

                        Lädt...
                        X