Verrückter Affe: Mod Rewrite

Guten morgen,
ich knoble jetzt schon mehrere Tage an folgendem problem. Ich habe auf meinem Webserver Typo3 am laufen mit einer Extension namens realUrl die mir schöne und leserliche URL's macht. So nun hätte ich gerne, dass wenn besucher meiner Seite folgendes eingeben www.domain.de/karriere auf meien Stellenanzeigen weitergeleitet werden die hier zu finden sind www.domain.de/de/karriere-center.html . Mit meiner Extension kann ich leider nur Seiten umleiten die ein html am Ende haben, also könnte ich www.domain.de/karriere.html ohne weiteres weitereiten. Dies finde ich aber nicht intuitiv genug.

So nun meine beiden Lösungsansätze per mod rewrite:

1. Ich dachte mir okay prüfst du einfach beim ankommen also per %{REQUERST_URI} die angeforderte Domain ab also ob www.domain.de/karriere kommt und leitest sie um auf www.domain.de/de/karriere-center.html. Im Code sah dies bei mir wie folgt aus

RewriteCond {REQUEST_URI} ^www.domain.de/karriere$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/de/karriere-center.html [R=301]

doch irgendwie klappt es so nicht.

2. Meine 2 Idee war, okay hängste per mor rewrite einfach .html an karriere dran, dann kann ich es per Typo3 wieder weiter leiten. Code technisch wollte ich es so lösen

RewriteRule ^..*karriere$ karriere.html [R=301]

Meine beiden Versuchen scheiterten aber kläglich, hat jemand ne Idee wir an es anders lösen kann, oder kann mir jemand meinen Denkfehler aufzeigen.

Vielen dank schonmal im Vorraus

  1. @@Verrückter Affe:

    nuqneH

    auf meien Stellenanzeigen weitergeleitet werden die hier zu finden sind www.domain.de/de/karriere-center.html

    Da sind keine Stellenanzeigen zu finden; sondert man landet auf der Homepage.

    Bitte beachte RFC 2606.

    So nun meine beiden Lösungsansätze per mod rewrite:

    Modrewite | Endung entfernen? | Weiterleitung?

    Qapla'

    --
    Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
    1. @@ Gunnat Bittersmann
      Die Lösung die im 2. Link steht geht bei mir nicht, er macht dann einfach nichts. Woran kann das liegen

      1. Hallo,

        @@ Gunnat Bittersmann
        Die Lösung die im 2. Link steht geht bei mir nicht, er macht dann einfach nichts. Woran kann das liegen

        Prinzipiell müsstest Du dann eine existierende Datei "karriere" im Stammverzeichnis hinterlegen, die etwa folgendes enthalten könnte:

        URI: /de/karriere-center.html
        Content-type: text/html
        Content-language: de

        URI: /en/karriere-center.html
        Content-type: text/html
        Content-language: en

        Darüber hinaus müsstest Du dennoch mit der Konfiguration in Form der .htaccess rumhantieren:

        <Files karriere>  
           SetHandler type-map  
        </Files>
        

        Alles in allem macht das das Lösen unnötig komplex.

        Gruß aus Berlin!
        eddi

    2. Hallo Gunnar,

      auf meien Stellenanzeigen weitergeleitet werden die hier zu finden sind www.domain.de/de/karriere-center.html

      Da sind keine Stellenanzeigen zu finden; sondert man landet auf der Homepage.

      Bitte beachte RFC 2606.

      RFC 2606 ist kein Standard. Offengestanden kann ich diesen unreflektierten Hinweis nicht mehr lesen. In der Rechtsprechung sind dem Kontext eines Web-Forums betreffend keine Fälle je aufgekommen, die für beispielhafte Namensangaben einen Regressanspruch gerechtfertigt hätten. Alles andere ist Dein Wille mitzudenken statt zu dogmatisieren.

      Und im Übrigen lautet der direkte Verweis http://tools.ietf.org/html/RFC2606 (ohne Erweiterung am Ende), was zu keinem Redirekt 302 mehr führt.

      Gruß aus Berlin!
      eddi

  2. Hallo,

    1. Ich dachte mir okay prüfst du einfach beim ankommen also per %{REQUERST_URI} die angeforderte Domain ab also ob www.domain.de/karriere kommt und leitest sie um auf www.domain.de/de/karriere-center.html. Im Code sah dies bei mir wie folgt aus

    RewriteCond {REQUEST_URI} ^www.domain.de/karriere$ [NC]

    Ich gehe mal davon aus, das Du hier nur "%" vergessen hast, denn es muss %{REQUEST_URI} heißen. Diese Servervariable enthält den Pfad der Anfragezeile. Dieser kann keinesfalls standardkonform "www.domain.de/karriere" sein. Darüber hinaus greift RewriteRule ohnehin auf die selbe Variable zu:

    RewriteRule ^(.*)$ http://www.domain.de/de/karriere-center.html [R=301]

    RewriteEngine On  
    RewriteRule   ^/karriere$ /de/karriere-center.html [L]
    

    Das sollte intern ausreichen. Für eine externe Weiterleitung via HTTP sehe ich keinen Grund.

    1. Meine 2 Idee war, okay hängste per mor rewrite einfach .html an karriere dran, dann kann ich es per Typo3 wieder weiter leiten. Code technisch wollte ich es so lösen

    RewriteRule ^..*karriere$ karriere.html [R=301]

    ^..*karriere$ trifft auf "/karriere" aber auch auf "dfklgojgvckjbikkarriere" zu. Probiere mal beide folgenden Varianten:

    RewriteEngine On  
    RewriteRule   ^/karriere$ /karriere.html [L]  
    # oder  
    RewriteEngine On  
    RewriteRule   ^/karriere$ /karriere.html [PT]
    

    Gruß aus Berlin!
    eddi