tob1as: Wie mache ich ein Link à la xyz.xyz/home

Hallo zusammen

Wie verlinke ich auf zB. auf home mit zB. xyz.com/home statt home.php?
Diese Art der Verlinkung kommt ja oft vor, doch fand ich leider keine Lösung.

Würde mich sehr freuen wenn mir jemand helfen kann!

MFG Tobias

  1. EDIT:

    Ich möchte natürlich nicht für jede Seite einen Unterordner mit einer index.php. Das geht doch bestimmmt anders?

    1. Seid gegrüßt!

      Du könntest das ganze über mod_rewrite lösen. Du findest garantiert über eine Google-Suche einige Beispiele oder Lösungen.

      --
      Bis Später
      RuD
      ________________________________________________________________
      SelfCode: ie:% fl:( br:^ va:) ls:< fo:| rl:( n4:& ss:) de:> js:| ch:| mo:| zu:)
      1. Du könntest das ganze über mod_rewrite lösen.

        Danke für deine tolle Antwort!

        http://de.wikipedia.org/wiki/Clean_URLs beschreibt das noch genauer. Ich hoffe ich komme auf eine Lösung, ansonsten melde ich mich wieder hier :)

        MFG Tobias

  2. Hallo

    Ist folgender Code korrekt?

    RewriteEngine on
    RewriteRule index.html$ index.php

    Wenn ich jetzt z.B. www.xyz.com/home auf www.xyz.com/home.php umleiten will, wie muss ich den Code korrekt umsetzen?

    MFG

    1. echo $begrüßung;

      Wenn ich jetzt z.B. www.xyz.com/home auf www.xyz.com/home.php umleiten will, wie muss ich den Code korrekt umsetzen?

      Es ist sinnvoll, Rewrite-Bedingungen einzufügen, die das Umschreiben von real existierenden Dateien oder Verzeichnissen nicht durchführen. Ansonsten könnte es zu Endlosschleifen kommen. Nach dem Umschreib-Prozess führt mod_rewrite nämlich intern einen zweiten Request durch, der ebenfalls wieder das Regelset durchläuft.

      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d

      Besonders wichtig ist das, wenn du nach Mustern suchst.

      Der Einsatz von RewriteBase mit dem aktuellen Verzeichnis empfiehlt sich auch. Begründung kann ich leider keine liefern, aber meine Erfahrung sagt mir, dass es beim Fehlen zu Problemen kommen kann.

      RewriteRule index.html$ index.php

      Das schreibt alle Requests um, die auf index.html enden. Für dein Ausgangsbeispiel wird gern sowas in der Art verwendet:

      RewriteRule (.*) index.php?ziel=$1

      Es reicht aber auch schon

      RewriteRule .* index.php

      wenn man im PHP-Script $_SERVER['REQUEST_URI'] auswertet, um die eigentlich aufgerufene URL zu ermitteln.

      Wenn du dich für den internen Ablauf eines Rewrite-Prozesses interessierst, seien dir die Apache-Kapitel zum Modul mod_rewrite und der URL Rewriting Guide empfohlen. Wenn du einen Apache laufen hast, kannst du dir das RewriteLog einschalten, das RewriteLogLevel einstellen und dich von der großen Menge an Zeilen pro Rewritevorgang erschlagen lassen :-)

      echo "$verabschiedung $name";

  3. Hallo Tobias,

    Wie verlinke ich auf zB. auf home mit zB. xyz.com/home statt home.php?

    Neben dem schon erwähnten mod_rewrite gibt es noch eine andere Lösung, und zwar das setzen von Options +Multiviews. In Bezug auf Suchmaschinen, insbesondere Google, gibt es dabei aber einige Dinge zu beachten.

    Es schadet allerdings nicht, sich mit mod_rewrite vertraut zu machen, da dies ein sehr mächtiges Werkzeug ist, das man für viele Zwecke einsetzen kann.

    Schöne Grüße.

    Johannes