.htaccess redirect www und extension

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

befubo

Mitglied
29 April 2009
58
0
6
#1
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
 

befubo

Mitglied
29 April 2009
58
0
6
#3
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...
 

befubo

Mitglied
29 April 2009
58
0
6
#5
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
 

threadi

Moderator
Team
Moderator
20 Oktober 2006
15.270
289
83
Leipzig
www.comedy-news.de
#6
Also wenn Du die Zeile

Code:
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?
 

befubo

Mitglied
29 April 2009
58
0
6
#7
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