Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

.htaccess Weiterleitungs-Problem

Hier können Sie Ihre Fragen zum Thema Suchmaschinenoptimierung (SEO) / Positionierung stellen
Neues Thema Antworten
Shizoe
PostRank 5
PostRank 5
Beiträge: 207
Registriert: 20.07.2008, 17:01
Wohnort: Dessau-Roßlau

Beitrag von Shizoe » 29.03.2013, 17:33

Hallo Freunde,

ich weiß, dass heute Feiertag ist. Aber ich brauche mal dringend Hilfe.

Meine htaccess-Datei sieht folgendermaßen aus:

Code: Alles auswählen

# Webseite mit WWW aufrufen!
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]

#Ordner im Index aufrufen!
RewriteCond %{REQUEST_URI} /$ 
RewriteRule ^(.*)$ http://www.domain.de/$1index.html [R=301,L]


Wenn ich jetzt www.domain.de aufrufe, wird auf www.domain.de/index.html umgeleitet. (gut so)

Wenn ich jetzt domain.de/index.html aufrufe, wird auf www.domain.de/index.html umgeleitet (gut so)

Wenn ich es jedoch kombiniere und domain.de aufrufe, wird auf https://www.domain.de/https://www.domai ... index.html umgeleitet... woran liegt das?

:(

Anzeige von ABAKUS

von Anzeige von ABAKUS »

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

Jetzt anfragen: 0511 / 300325-0.


Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 29.03.2013, 18:30

Shizoe hat geschrieben:ich weiß, dass heute Feiertag ist.
Wäre ja kein Problem, nur Fragen zu stellen, wo man nachdenken muss, ist nicht schön. Schaue Dir mal das Muster an.
Shizoe hat geschrieben:

Code: Alles auswählen

RewriteCond %{REQUEST_URI} /$ 
Sagt mir, die Regel trifft zu, wenn die URI mit einem / endet. Du meintest sicherlich, wenn nichts weiter als ein / enhalten ist und hast ^ den Anfang vergessen anzugeben, damit die URI auch mit keinen weiteren Zeichen anfangen darf. Auf Dein Muster würde halt auch /ein_langer_name/ zutreffen, weil Du ja nur das /$-Ende überprüfst und ein . Probiere es mal so, mehr als fehlerhaft kann es auch nicht sein:

Code: Alles auswählen

RewriteCond %{REQUEST_URI} ^/$
Zuletzt geändert von Melegrian am 29.03.2013, 18:40, insgesamt 1-mal geändert.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 29.03.2013, 18:40

@Melegrian: Die Regel kam ja von mir :)

(siehe hier: https://www.abakus-internet-marketing.d ... 16647.html)

Und da ging es mir auch um die Fälle von Unterordnern.

@Shizoe89:

Probier mal lieber, hier:

RewriteRule ^(.*) https://www.%{HTTP_HOST}/$1 [R=301]

ein L Flag mit einzufügen, also [R=301,L]

Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 29.03.2013, 18:58

@ chris21, ja, dann ergibt das einen anderen Sinn, von den Verzeichnissen war ja hier nichts ersichtlich.

@ Shizoe, falls das L Flag bei der ersten Regel noch nicht genügen sollte, könntest Du hier eventuell noch eine zweite Bedingung aufnehmen. Ist aber nur ein Gedanke.

Code: Alles auswählen

#Ordner im Index aufrufen!
RewriteCond %{REQUEST_URI} /$
RewriteCond %{REQUEST_URI} !/index\.html$
RewriteRule ^(.*)$ http://www.domain.de/$1index.html [R=301,L]
Ich verstehe aber gerade nicht, warum die index.html bei /$ mit durchrutscht und dann hinten 2 dran hängen, eigentlich dürfte das doch ob so oder so nicht möglich sein.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 29.03.2013, 19:37

Das müsste aber gerade die Geschichte sein, warum ich auf das L Flag komme: die zweite Regel wird beim Aufruf einer falschen Domain doppelt angewandt, da es auf den ursprünglichen Aufruf angewandt und auf den Aufruf der folgenden Aufruf der Weiterleitung.

Es ist praktisch derzeit eine UND Verknüpfung und keine erst A, dann B Verarbeitung.

Also Aufruf falsche Domain falschedomain.tld

Regel: Lenke auf richtige Domain und merke Dir: hänge index.html dran.

Zugleich wird richtige Domain intern noch mit / endend vermerkt, da das L Flag fehlt und somit wird die zweite Regel auch darauf angewandt und daher doppelt verarbeitet.

Schon hat man ein index.htmlindex.html

PS: Mit ner Zeichnung oder einem Diagramm wäre es einfacher zu erklären :D

Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 29.03.2013, 20:52

Es wird sich wohl so verhalten, wie Du es beschreibst. Skizzieren zum besseren Verständnis wäre zuweilen schon sehr angebracht.
Scripts und Plugins für Cookie-Hinweise

Shizoe
PostRank 5
PostRank 5
Beiträge: 207
Registriert: 20.07.2008, 17:01
Wohnort: Dessau-Roßlau

Beitrag von Shizoe » 29.03.2013, 21:01

Probier mal lieber, hier:

RewriteRule ^(.*) https://www.%{HTTP_HOST}/$1 [R=301]

ein L Flag mit einzufügen, also [R=301,L]
Du hast mir wieder das Leben gerettet Chris21. Danke vielmals.
Natürlich danke ich auch alle anderen, die sich Gedanken darüber gemacht habe.

Ich wünsche euch ein paar schöne Osterfeiertage. :-)

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag