.html Endung entfernen

  • Hallo Netcup User,


    ich habe mal eine Frage bezüglich dem entfernen der Endungen, speziell bei .html.


    Ich hätte diese gerne auf meiner Seite entfernt. Ich verwende ausschließlich html und auch keine exotischen Scripts mit großen Funktionen :D


    Ich habe im Internet einiges über .htaccess gelesen, auch zwei Arten, die bei anderen geklappt haben, selber getestet doch außer ein 404er Error erhalte ich nichts.


    Ich habe es mit:


    und:


    Apache Configuration
    RewriteEngine on
    RewriteBase /
    
    
    
    
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.+)\.html\ HTTP/ 
    RewriteRule (.*).html$ /$1 [R=301,L]


    Jedoch erhalte ich bei beiden einen Error.. :confused:


    mod_rewrite ist on.



    Kann mir vielleicht jemand helfen, wie ich die Endungen in der Adressleiste weg bekommen ?!


    Vielen Dank schonmal im voraus


    :)

    "Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann."


    :server

  • Ich hab es etwas anders:
    Bei mir konnte man die Seite mit
    home.php?page=Seiten_ID
    aufrufen.


    Mit der .htaccess braucht man nun nur mehr
    http://domain.tld/1
    eingeben und man kommt auf
    home.php?page=1


    Das hab ich folgendermaßen gelöst:

    Zitat

    RewriteEngine On
    Options +FollowSymlinks
    RewriteRule ^([a-z0-9]{1,7})$ home.php?page=$1 [L]


    In deinem Fall (vermute ich) wäre es so:

    Zitat

    RewriteEngine On
    Options +FollowSymlinks
    RewriteRule ^([a-z0-9]{1,7})$ $1.html [L]


    Nicht getestet :)


    MfG,
    Patschi

  • Dem Himmel sei Dank, jemand kann Helfen :o


    Doch leider erhalte ich dort auch die Fehlermeldung:


    404 Not Found



    Das kommt bei allen Varianten.
    Ich verzweifel daran...



    Danke Dir auf jedenfall schonmal für Deine Lösung. :)

    "Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann."


    :server

  • Ja oder stört es wenn noch andere Dateien im selben Verzeichnis liegen?


    Sprich: css Ordner, images Odner und noch andere html Dateien

    "Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann."


    :server

  • Die anderen heißen auch alle *.html


    Sorry, hab gerade gemerkt, dass bei Deiner Lösung nicht "404 Not Found" kommt, sondern leider nichts passiert, die Adressen bleiben unverändert.


    Ich danke Dir auf jedenfall schonmal für deine Bemühungen :)

    "Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann."


    :server

  • Ja, ist aktiv.


    Ist auch nicht das erste Verzeichnis mit einer .htaccess.



    Es klappt ja auch jetzt zum Teil, nur halt mit meinen richtigen Scripten nicht.. :confused:

    "Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann."


    :server

  • Also ich hab das früher immer so gemacht, dass sollte auch heute noch funktionieren xD


    Die .htaccess sieht so aus:

    PHP
    RewriteEngine on
    RewriteRule eins$ eins.html
    RewriteRule zwei$ zwei.html
    RewriteRule drei$ drei.html

    Die Dateien im Beispiel "eins.html", "zwei.html" und "drei.html" müssen so auch auf deinem Server vorhanden sein (exakter Name mit .html am Ende), im selben Ordner musst du dann die .htaccess liegen haben. Wenn das nicht funktioniert is dein ModRewrite nicht an ;)


    Ist zwar keine schöne Lösung aber eine die funktioniert. Du könntest später noch eine Funktion einfügen die es erlaubt das wenn z.B. nur "ein" eingegeben wurde, dann auf "eins" geleitet wird, wie es auch bei Wordpress der Fall ist.

  • Ahh Jaa! :D


    Endlich jemand mit einer funktionierenden Lösung :)
    Tausend Dank an Dich! ;)



    Danke an alle für die Bemühungen, genau so klappt es.



    Grüße :)

    "Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann."


    :server

  • Nö, dann machste das so:

    PHP
    RewriteEngine on
    RewriteRule eins$ eins.html
    RewriteRule Eins$ eins.html
    RewriteRule zwei$ zwei.html
    RewriteRule Zwei$ zwei.html
    RewriteRule drei$ drei.html
    RewriteRule Drei$ drei.html


    Du kannst die Datei schließlich nennen wie du möchtest ;)


    Und wenn du schon dran bist würde ich auch alles einmal in GROßBUCHSTABEN dort eingeben.

  • Danke für Deine schnelle Antwort und ein weiteres Mal Deine Hilfe.


    Jedoch kommt ein Fehler: 404 Not Found.



    Die Datei gibt es doch nur in einer Schreibweise im Verzeichnis, wie soll er sie denn dann z.B. einmal in komplett Groß und dann noch in komplett klein erkennen ?



    Oder muss ich die html dann in allen Schreibweisen einmal im Verzeichnis haben ?

    "Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann."


    :server

  • Nein, die .html Dateien hast du nur einmal in deinem Verzeichniss, die kannst du alle klein schreiben. Was du anpassen musst ist die Ausgabe deines Links in der .htaccess Datei. Du kannst einer .html / .php Datei unzählige Namen geben, es ist vollkommen egal welchen Namen du dort einträgst, er darf nur nicht doppelt vergeben sein.


    Nochmal als Beispiel für eine Datei jetzt:


    Deine .htaccess:

    PHP
    RewriteEngine on
    RewriteRule eins$ eins.html
    RewriteRule Eins$ eins.html
    RewriteRule EINS$ eins.html

    In deinem Ordner/Verzeichniss auf deinem Webspace hast du folgende Dateien:

    PHP
    eins.html
    .htaccess

    Deinen Link kannst du jetzt so aufrufen:
    www.domain.tld/eins
    www.domain.tld/Eins
    www.domain.tld/EINS


    Alle Links verweisen jetzt auf deine www.domain.tld/eins.html !


    Klar soweit? Das sollte auch funktionieren, bei mir funktionierte das damals.

  • Halt, vergiss alles was ich gerade geschrieben habe, ich hab was besseres bei google gefunden, sollte auch funktionieren.


    Mache einfach dieses [NC] hinter deine Links, dann ist es vollkommen egal ob groß oder klein, es wird immer auf deine .html geleitet.


    PHP
    RewriteEngine on
    RewriteRule eins$ eins.html [NC]
    RewriteRule zwei$ zwei.html [NC]
    RewriteRule drei$ drei.html [NC]
  • Super! :)


    Vielen Vielen Dank, für deine klasse Hilfe !!


    So konnte ich meine html Dateien auf dem Server auch unberührt lassen.



    Besten Danke für die Lösung. :)


    Grüße :)

    "Wenn ich bei der Arbeit mit Computern eins gelernt habe, dann das ich einem Computer nur soweit traue, wie ich ihn werfen kann."


    :server