1. Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!
    Information ausblenden

.htaccess redirect www und extension

Dieses Thema im Forum "SEO / Suchmaschinenoptimierung" wurde erstellt von befubo, 8 April 2018.

  1. befubo

    befubo Mitglied

    Registriert seit:
    29 April 2009
    Beiträge:
    58
    Punkte für Erfolge:
    6
    Hallo miteinander :)

    Bei der Analyse meiner Website auf SEO wurde mir mitgeteilt, dass ich wohl noch einen 301 redirect benötige, da meine Website auf die Variante www.meineseite.ch, aber auch auf meineseite.ch zeigt.

    Folgendes habe ich dann in die .htaccess Datei geschrieben:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www.meineseite.ch [NC]
    RewriteRule ^(.*)$ http://meineseite/ [L,R=301]


    Das Problem ist, dass meine Links auf der Website auf die Dateien ohne Extensions zeigen. Also ich rufe meine Dateien nicht unter meineseite.ch/datei.php auf sondern nur unter meineseite.ch/datei

    Sobald ich also diesen Redirect oben aktiviere, funktionieren alle meine Links nicht mehr, da scheinbar die Fileextension erwartet wird.
    Wie muss ich das genau schreiben, dass das wieder funktioniert?

    Vielen Dank und mit freundlichen Grüssen
    befubo
     
    Werbung:

    Jetzt registrieren, damit diese Werbung verschwindet
  2. threadi

    threadi Moderator Team Moderator

    Registriert seit:
    20 Oktober 2006
    Beiträge:
    15.237
    Punkte für Erfolge:
    83
    Auf welche Weise deaktivierst Du denn die File-Extension? Auch per mod_rewrite?
     
  3. befubo

    befubo Mitglied

    Registriert seit:
    29 April 2009
    Beiträge:
    58
    Punkte für Erfolge:
    6
    Moin
    Tatsächlich gar nicht spezifisch. Die Verlinkungen haben auch so immer funktioniert.
    Aber ich habs auch versucht mit einem rewrite in der .htaccess zusätzlich, aber ich vermute, die beiden reden sich dann gegenseitig rein...
     
  4. threadi

    threadi Moderator Team Moderator

    Registriert seit:
    20 Oktober 2006
    Beiträge:
    15.237
    Punkte für Erfolge:
    83
    Die beiden? Also hast Du noch etwas anderes in der .htaccess stehen?
     
  5. befubo

    befubo Mitglied

    Registriert seit:
    29 April 2009
    Beiträge:
    58
    Punkte für Erfolge:
    6
    Also es ist so:
    in der .htaccess hatte ich bis vor kurzem nix drin stehen.
    Dann fand ich den obigen Codeschnipsel mit dem Rewrite und hab den eingesetzt. Dann funktionierten aber alle meine Link ohne die .php am schluss nicht mehr.
    Dann hatte ich nach dem Code gesucht, um die PHP extension zu ersetzen.
    Sowas in der Art:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]+)$ $1.php [NC,L]

    So hatte ich dann zweitweise in der .htaccess stehen:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www.meineseite.ch [NC]
    RewriteRule ^(.*)$ http://meineseite/ [L,R=301]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]+)$ $1.php [NC,L]

    Allerdings war mir das irgendwie klar, dass das dann nicht funktioniert, da ich die Zusammenhänge dieser reguar Expressions zu wenig verstehe in diesem Fall.
    Bin aber irgendwie nicht dahintergestiegen bis jetzt.

    Jetzt ist meine .htaccess wieder leer, da ja sonst meine Links nicht funktionieren.
    Hoffe ich konnte das verständlich rüberbringen :)

    Danke schonmal für die Hilfe
     
  6. threadi

    threadi Moderator Team Moderator

    Registriert seit:
    20 Oktober 2006
    Beiträge:
    15.237
    Punkte für Erfolge:
    83
    Also wenn Du die Zeile

    Code (text):
    1. RewriteRule ^(.*)$ http://meineseite/ [L,R=301]


    richtig schreibst (also mit korrekter Domain-Schreibweise), sollte es aus meiner Sicht problemlos funktionieren.

    Was passiert denn, wenn Du die von dir gewünschten URLs ohne Endung aufrufst?
     
  7. befubo

    befubo Mitglied

    Registriert seit:
    29 April 2009
    Beiträge:
    58
    Punkte für Erfolge:
    6
    huch...
    Jetzt plötzlich geht es o_O
    Keine Ahnung warum, ich hab es nämlich eigentlich schon mal genau so geschrieben, muss ich wohl einen Tippfehler drin gehabt haben. Habe jetzt in der .htaccess stehen:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www.meineseite.ch [NC]
    RewriteRule ^(.*)$ http://meineseite.ch/ [L,R=301]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]+)$ $1.php [NC,L]

    Und es funktioniert tatsächlich.
    Vielen Dank :p