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

index.php im Unterordner auf / weiterleiten

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Neues Thema Antworten
Nicci
PostRank 3
PostRank 3
Beiträge: 89
Registriert: 13.03.2008, 11:48

Beitrag von Nicci » 23.07.2009, 07:27

Hallo,

ich bin schier am verzweifeln und habe mich fast schon zu Tode gegoogelt, aber ich finde für meine Unterordner einfach keine Lösung und zwar suche ich folgendes Problem zu lösen: Nachfolgenden Code verwende ich bereits schon in der .htaccess (Hauptverzeichnis), welcher auch super funktioniert -der Code bewirkt, dass meine Startseite nur mit https://www.meine-domain.de/ aufgerufen werden kann, um somit DC zu vermeiden (versucht jemand diese Seite z. B. so https://meine-domain.de oder so https://meine-domain.de/index.php aufzurufen, so wird er immer auf https://www.meine-domain.de/ weitergeleitet:

Code: Alles auswählen

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html?|php)\ HTTP/
RewriteRule ^index\.(html?|php)$ http://www.meine-domain.de/ [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.meine-domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.meine-domain.de/$1 [R=301,L]
Mein Problem ist nun, dass ich nicht weiss, wie ich das für die Unterordner hinkriege. Klar ist mir jedenfalls, dass die Unterordner eine eigene .htaccess benötigen. Die Unterordner können zur Zeit zwar nicht ohne "www" aufgerufen werden, aber die index.php im Unterordner lässt sich aufrufen. Mein Wunsch wäre aber das die Unterseite wie nachfolgend aufgeführt, weitergeleitet wird, also so:
https://www.meine-domain.de/unterordner/

Hat jemand ein solches Problem schon mal gelöst oder gibt es hier zufällig einen "Mod"-Spezialisten? Sehr dankbar bin ich für Eure Hilfe
Tipp: kostenlose Homepagevorlagen bei www.homepage-vorlagen-webdesign.de

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 23.07.2009, 09:37

Nicci hat geschrieben:der Code bewirkt, dass meine Startseite nur mit https://www.meine-domain.de/ aufgerufen werden kann, um somit DC zu vermeiden
Das Problem ist keines, Google fasst diese URLs zusammen und behandelt sie wie eine einzelne. Unangenehm ist dabei lediglich, dass Google aus der Gruppe möglicherweise ausgerechnet jene URL-Form wählt, die man nicht haben möchte, insofern ist die Weiterleitung natürlich trotzdem berechtigt. Mit DC hat das aber nichts zu tun.
(versucht jemand diese Seite z. B. so http://meine-domain.de oder so http://meine-domain.de/index.php aufzurufen, so wird er immer auf http://www.meine-domain.de/ weitergeleitet
Es ist technisch nicht möglich, eine Seite als http://meine-domain.de aufzurufen, d.h. nur mit Domain, ohne Pfad. Der Versuch wird schon vom Browser durch Anhängen des Wurzelpfades in http://meine-domain.de/ geändert.
Mein Problem ist nun, dass ich nicht weiss, wie ich das für die Unterordner hinkriege. Klar ist mir jedenfalls, dass die Unterordner eine eigene .htaccess benötigen.
Nein, die .htaccess gilt grundsätzlich für den jeweiligen Ordner und alle seine Unterordner. Das hast du eigentlich auch schon selbst bemerkt:
Die Unterordner können zur Zeit zwar nicht ohne "www" aufgerufen werden
Der www-Teil deiner /.htaccess funktioniert also bereits in den Unterordnern. Du musst lediglich den Teil anpassen, der für die index-Weiterleitung verantwortlich ist.

Code: Alles auswählen

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html?|php)\ HTTP/
RewriteRule ^index\.(html?|php)$ http://www.meine-domain.de/ [R=301,L]
1 .In der RewriteRule-Zeile hast du als Muster ^index\.(html?|php)$. Das ^ vorne bedeutet, dass dort der Anfang des zu vergleichenden Textes stehen muss, er muss also mit index beginnen - unterordner/index.html beginnt aber mit unterordner/. Änderung: ^ weg.
Da wir aber in Punkt 2 eh schon einen Vergleich auf index.xy durchführen, lassen wir das Muster hier quasi ganz weg (siehe Punkt 3).

2. In der RewriteCond-Zeile hast du im Endeffekt das gleiche Problem. Hier verlangst du, dass vor dem /index ein Leerzeichen und davor der HTTP-Befehl erscheint; für einen Unterordner ist kein Platz vorgesehen. Änderung:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ (.*/)index\.(html?|php)\ HTTP/

Das Sternchen besagt „eine beliebige Anzahl des vorangehenden Elements“, das vorangehende Element ist hier ein Punkt, der seinerseits für ein beliebiges Zeichen steht. Das Muster .*/ steht also für einen Schrägstrich, vor dem beliebig viele beliebige Zeichen stehen: Platz für den oder die Unterordner.
Die runden Klammern sorgen dafür, dass von diesem Teil eine Kopie gemacht wird, die wir gleich verwenden.

3. Das Ziel der Weiterleitung ist derzeit das Wurzelverzeichnis, du musst dort also noch den Ordner anhängen. Dazu haben wir eben mit den runden Klammern gearbeitet, deren Inhalt bekommen wir mit der Variablen %1. Das Muster ist, wie in 1. schon angedeutet, auf einen einzelnen Punkt reduziert, das passt auf alles und jedes.

RewriteRule . http://www.meine-domain.de%1

Beachte, dass %1 direkt hinter der Domain steht, ohne trennenden Schrägstrich. Dieser Schrägstrich wird bereits im RewriteCond-Muster (.*/) abgefangen.

Nochmal in einem Stück (die www-Weiterleitung habe ich auch noch etwas aufgehübscht und das RewriteCond-Muster in Anführungszeichen gesetzt):

Code: Alles auswählen

RewriteEngine on 
RewriteCond %{THE_REQUEST} "^[A-Z]{3,9} (.*/)index\.(html?|php) HTTP/"
RewriteRule . http://www.meine-domain.de%1
RewriteCond %{HTTP_HOST} !=www.meine-domain.de 
RewriteRule (.*) http://www.meine-domain.de/$1 [R=301,L]

Nicci
PostRank 3
PostRank 3
Beiträge: 89
Registriert: 13.03.2008, 11:48

Beitrag von Nicci » 23.07.2009, 12:33

Supi und danke ... klappt ja wunderbar, allerdings darf die Seite nicht so aufgerufen werden, wie folgt:

https://meine-domain.de/unterordner/index.php

bzw. sie darf nicht ohne "www" aufgerufen werden, wenn nach dem Unterordner auch noch index.php folgt. Der Server gibt dann nämlich einen 404er aus und folgendes wird in der Adressleiste des Browser angezeigt:

https://www.meine-domain.de/https://www ... terordner/

Gibt es auch dafür noch eine Lösung?
Wenn ja, dann wäre ich total happy :D
Tipp: kostenlose Homepagevorlagen bei www.homepage-vorlagen-webdesign.de

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.


Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 23.07.2009, 13:17

Asche auf mein Haupt, bei der index-Umleitung habe ich die Parameter vergessen:

RewriteRule . http://www.meine-domain.de%1 [R=301,L]

Nicci
PostRank 3
PostRank 3
Beiträge: 89
Registriert: 13.03.2008, 11:48

Beitrag von Nicci » 23.07.2009, 13:51

Mork sei Dank ... endlich .. jetzt kann ich mal wieder ohne Alpträume schlafen. Also wenn mal wieder was zu "mod"den ist, dann weiss ich ja, an wen ich mich von nun an wenden werde :wink: ... Tausend Dank nochmal!
Tipp: kostenlose Homepagevorlagen bei www.homepage-vorlagen-webdesign.de

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag