Seite 1 von 1

Startseite / doppelter content

Verfasst: 09.10.2005, 09:48
von mark007q
Ich habe irgendwie noch nicht den richtigen Ansatz für folgendes Problem gefunden:

Meine Startseite ist einmal über index.php und mittels mod_rewrite auch über index.htm erreichbar.

Als DirectoryIndex habe ich index.php gesetzt.

Wenn ich das nun richtig sehe, erreicht man meine Startseite nun unter drei verscheidenen Aufrufen.

1. Direkt unter https://www.domain.de/
2. Unter: https://www.domain.de/index.php
3. Unter https://www.domain.de/index.html

Verursacht das nicht doppelten content?

Wie könnte ich es hinbekommen, dass als Startseite nur die HTML-Seite verwendet wird? Wie gesagt, die unverzichtbare Seite ist hier nur die index.php.

Hat jemand da einen Ansatz evtl. per mod_rewrite oder ganz anders in der .htaccess?

Verfasst:
von

Startseite / doppelter content

Verfasst: 09.10.2005, 14:19
von Beowolve
Ist das gleiche wie wenn deine Seite mit und ohne www erreichbar ist. Würde dir empfehlen hald alles auf die variante ohne index weiterzuleiten.

Code: Alles auswählen

RewriteCond %{REQUEST_URL} ^www\.domain\.com/index\.php$ [OR]
RewriteCond %{REQUEST_URL} ^www\.domain\.com/index\.html$
RewriteRule ^index.php$ http://www.domain.com/ [R=301,L]
Das sollte alle Aufrufe die mit index.php und index.html enden umleiten das alte mod_rewirte für die html muss dann natürlich raus. Seiten die mit einem query aufgerufen werden sind bei dieser Regel nicht enthalten.

Immerhin hast das gleiche Problem wenn du beispielsweise schreibst:

www.domain.de/index.php?show=impressum oder
www.domain.de/?show=impressum

Überlicherweise funktioniert der Aufruf mit und ohne Dateinamen, das kann man aber ebenfalls über eine entsprechende Regel vereinheitlichen. Ich pers. bevorzuge die variante ohne dem index, da so die url kürzer ist.

Müste dann so aussehen:

Code: Alles auswählen

# Leitet alle Anforderungen um die einen Querystring enthalten
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^index.php?(.*)$ http://www.domain.de/$1 [R=301,L]

Verfasst: 09.10.2005, 15:06
von mark007q
Irgendwie scheint es noch nicht richtig zu klappen:

Code: Alles auswählen

DirectoryIndex index.php
php_flag session.use_trans_sid off
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain\.de$
RewriteRule ^(.*)$ http://www.domain.de/$1 [L,R=301]
ErrorDocument 404 /Dokument404.htm

RewriteEngine on
RewriteCond %{REQUEST_URL} ^www\.domain\.de/index\.php$ [OR] 
RewriteCond %{REQUEST_URL} ^www\.domain\.de/index\.html$ 
RewriteRule ^index.php$ http://www.domain.de/ [R=301,L]

RewriteEngine on

# index.php
RewriteRule index.html$    index.php
Wenn ich die letzte Rewrite Regel weglasse, dann wird die index.html gar nicht mehr gefunden ...

Und wenn ich es so wie gepostet ins root lase, dann erscheint in der Browserzeile aber immer nich bei Aufruf der index.php auch index.php und bei Aufruf der index.html immer noch index.html ...

Was mache ich da denn bloß noch falsch??

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 09.10.2005, 15:25
von luigip
@ mark007q

Wie ist es damit:

Code: Alles auswählen

DirectoryIndex index.php 
php_flag session.use_trans_sid off 
ErrorDocument 404 /Dokument404.htm 

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.  [OR]
RewriteCond %{REQUEST_URL} ^www\.domain\.de/index\.php$  [OR] 
RewriteCond %{REQUEST_URL} ^www\.domain\.de/index\.html$ 
RewriteRule ^(.*)  http://www.%{HTTP_HOST}/$1  [R=301]
Vielleicht geht´s noch kürzer:

Code: Alles auswählen

DirectoryIndex index.php 
php_flag session.use_trans_sid off 
ErrorDocument 404 /Dokument404.htm 

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.  [OR]
RewriteCond %{REQUEST_URL} %{HTTP_HOST}/index\.(.*)
RewriteRule ^(.*)  http://www.%{HTTP_HOST}/$1  [R=301]

Verfasst: 09.10.2005, 16:24
von mark007q
Da verändert sich auch nichts ... allerdinsg verstehe ich nicht warum es nicht klappt ??

Startseite / doppelter content

Verfasst: 09.10.2005, 19:34
von Beowolve
Seh keinen Fehler bei dem von luigip.

@mark:
Du brauchst übrigens nur einmal "RewriteEngine on" schreiben in dem file.

Bist dir auch sicher das deine .htaccess auch ausgeführt wird ;)?