Seite 1 von 1

Weiterleitung per htaccess mit 2 Unterverzeichnissen

Verfasst: 30.07.2010, 09:17
von tombone
Hallo...
ich habe schon seit langem ein Problem und bräuchte dringend Hilfe.

Szenario:

Ich habe 2 Projekte in jeweils einem Unterverzeichnis auf meinem Webspace installiert.
Projekt 1 = /xxxxx1/
Projekt 1 = /xxxxx2/

Wie kann ich nun per Htaccess, die in der Webspace-Root liegt (+doppelten Content vermeiden) und mit 2 verschiedenen Domains jeweils in den richtigen Unterordner verzweigen, OHNE daß dann im Browser bei Eingabe das Unterverzeichnis mit angezeigt wird. Also so z.B. :
www.domain.de - > nicht... www.domain.de/xxxxx1/

Ich habe diesen Code in der Htaccess geschrieben, der auch bei meinem ersten Projekt funktioniert.

Code: Alles auswählen

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /xxxxx1
RewriteRule ^xxxxx1(/(.*))?$ /$2 [L,R=301]
RewriteRule !^xxxxx1/ xxxxx1%{REQUEST_URI} [L]
Nur weiß ich jetzt absolut nicht, wie der Eintrag bezüglich des 2. Projekts zu machen ist, damit auch nur jeweils das richtige Projekt angezeigt wird.
Gibt es auch eine Möglichkeit das mit einer PHP index-Datei in der Root zu machen und mit if-Abfragen dann weiterzuleiten? Das habe ich mal irgendwo gelesen.

Danke im Voraus!

Gruß
Thomas

Verfasst:
von

Verfasst: 30.07.2010, 09:30
von Alda
2 verschiedenen Domains
Wieso greift der Server bei Aufruf von Domain A oder Domain B bei Dir nicht direkt in den jeweiligen Ordner?

Verfasst: 30.07.2010, 09:36
von tombone
Alda hat geschrieben:
2 verschiedenen Domains
Wieso greift der Server bei Aufruf von Domain A oder Domain B bei Dir nicht direkt in den jeweiligen Ordner?
Ich kann das in Confixx zwar weiterleiten (mit und ohne www), doch irgendwie kapiert das mein erstes Projekt nicht (vielleicht wegen den absoluten Pfadangaben) und deshalb wollte ich das mit der htaccess machen. Jetzt alles umzubauen wäre zu viel Arbeit denke ich. Habe eh schon zu lange dran gesessen :-(

Verfasst:
von

Verfasst: 30.07.2010, 09:53
von Synonym
Du kannst in Confixx doch den Zielordner angeben für jede Domain.

1. Confixx aufrufen
2. Einstellungen / Domains
3. Dort den Pfad (das Ziel ändern) da steht bei Dir aktuell sicherlich einfach nur "/". Also jeweils ändern in /ordner1 bzw. /ordner2
4. Nun hast Du für jede Domain einen eigenen festen Dokumentroot.

Wegen den absoluten Pfadangaben sollte sich normalerweise nichts ändern, denn die bleiben ja gleich. Du sagst dem Webserver ja nur, dass das jeweilige Root der Domäne einen Ordner (eben der entsprechende Unterordner) tiefer ist.

Du hast derzeit ja anscheinend Dein eigentliches Root irgendwie so:
/pfad/zu/meinem/root/
und biegst das dann nachträglich händisch um auf
/pfad/zu/meinem/root/domain1
/pfad/zu/meinem/root/domain2

Also kannst Du dem Server doch auch gleich sagen, dass er suchen soll in
/pfad/zu/meinem/root/domain1
oder eben
/pfad/zu/meinem/root/domain2

Verfasst: 30.07.2010, 10:00
von Alda
Synonym hat geschrieben:Du kannst in Confixx doch den Zielordner angeben für jede Domain.

1. Confixx aufrufen
2. Einstellungen / Domains
3. Dort den Pfad (das Ziel ändern) da steht bei Dir aktuell sicherlich einfach nur "/". Also jeweils ändern in /ordner1 bzw. /ordner2
4. Nun hast Du für jede Domain einen eigenen festen Dokumentroot.
Ha, nu haste verloren.... :wink:

Confixx ist genau das, wo ich auch immer in Schreikrämpfe ausbreche, weil es für mich nicht intuitiv ist und ich aus einem völlig anderem Bereich als Webdesign, bzw. Coding komme. :oops: :oops: :(

Dafür jammern viele über die 1&1 Administration und genau da habe ich nun so gar keine Probleme.

Verfasst: 30.07.2010, 10:02
von Synonym
Confixx ist genau das, wo ich auch immer in Schreikrämpfe ausbreche
Ich auch ;-) Hatte extra gerade bei einem Kunden von mir nachgesehen wo das einzustellen geht, denn ich selbst hab auch kein Confixx :-)

Verfasst: 30.07.2010, 10:09
von tombone
Synonym hat geschrieben:Du kannst in Confixx doch den Zielordner angeben für jede Domain.

1. Confixx aufrufen
2. Einstellungen / Domains
3. Dort den Pfad (das Ziel ändern) da steht bei Dir aktuell sicherlich einfach nur "/". Also jeweils ändern in /ordner1 bzw. /ordner2
4. Nun hast Du für jede Domain einen eigenen festen Dokumentroot.

Wegen den absoluten Pfadangaben sollte sich normalerweise nichts ändern, denn die bleiben ja gleich. Du sagst dem Webserver ja nur, dass das jeweilige Root der Domäne einen Ordner (eben der entsprechende Unterordner) tiefer ist.

Du hast derzeit ja anscheinend Dein eigentliches Root irgendwie so:
/pfad/zu/meinem/root/
und biegst das dann nachträglich händisch um auf
/pfad/zu/meinem/root/domain1
/pfad/zu/meinem/root/domain2

Also kannst Du dem Server doch auch gleich sagen, dass er suchen soll in
/pfad/zu/meinem/root/domain1
oder eben
/pfad/zu/meinem/root/domain2

Ich verstehe das ja auch nicht. Wenn ich in Confixx die Weiterleitung umstelle, läuft die Seite im Frontend auch super. Nur wenn ich mich dann in den Userbereich anmelde, kommt ein Browserfehler und mit einer Link-Error-Seite. Und ich weiß absolut nicht, wo ich das in meiner Software einstellen kann. Deshalb wollte ich das ja auch über Htaccess amachen, da das schon mit dem ersten Projekt super klappte.

Ach..ich habe gerade gesehen, daß wenn ich in den Userbereich mich einlogge, daß er das Unterverzeichnis wieder im Browser mit angibt: Also so...
https://www.meinedomain.de/xxxxx1/user/....
Also klappt etwas mit der Weiterleitung im Script nicht oder?

Verfasst: 30.07.2010, 10:21
von Synonym
kommt ein Browserfehler und mit einer Link-Error-Seite
Und wie schaut der Fehler genau aus? Welche htaccesses liegen in dem Bereich?

Deine htaccess oben ist ohnehin etwas wirr und ich bezweifle, dass die das tut was die eigentlich tun soll. Wenn, dann ist das Zufall.

Wenn Du das per htaccess machen willst, dann musst Du da natürlich auch die Domain prüfen und nicht (nur) den Request.

Also wenn "Domain1", dann nimm Ordner sowieso
Wenn "Domain2", dann nimm Ordner sowieso

Warum Du bei "RewriteCond %{THE_REQUEST} ^[A-Z]+\ /xxxxx1" das Leerzeichen maskierst bleibt auch offen und das "(/(.*))" ist auch nicht wirklich schlüssig.

Verfasst: 30.07.2010, 10:23
von Synonym
Ok, das ist doch mal eine Information.

Zwei Möglichkeiten:

1. Es kommt von einer vorhandenen htaccess

2. Es kommt von der Konfiguration der Software.

Zuvor war das Root ja einfach / (Pfad z.B. "/pfad/zu/meinem/root/ ") und die Softwareinstallation quasi in einem Unterordner "xxxxx1".

Wenn Du das aber im Confixx geändert hast, dann ist die Installation nun direkt wieder im Root / ("xxxxx1" ist dann schon Bestandteil davon. Pfad z.B. "/pfad/zu/meinem/root/xxxxx1"). Den Unterordner "xxxxx1" aus Sicht der Software gibt es nicht mehr.

Schau also mal in der Config, ob da irgendwo eine Pfadangabe ist. Bei WP gibt es das z.B.

Beispiel:
{REQUEST_URI} lieferte zuvor z.B. /xxxxx1/test.html
nach der Änderung aber /test.html

da "/xxxxx1" nun Teil vom Dokument-Root ist.

Verfasst: 30.07.2010, 10:30
von tombone
Synonym hat geschrieben:Ok, das ist doch mal eine Information.

Zwei Möglichkeiten:

1. Es kommt von einer vorhandenen htaccess

2. Es kommt von der Konfiguration der Software.

Zuvor war das Root ja einfach / und die Softwareinstallation quasi in einem Unterordner "xxxxx1".

Wenn Du das aber im Confixx geändert hast, dann ist die Installation nun direkt wieder im Root / ("xxxxx1" ist dann schon Bestandteil davon - daher ändern sich auch die absoluten Pfade nicht) nur, dass der eben intern wo anders ist. Den Unterordner "xxxxx1" aus Sicht der Software gibt es nicht mehr.

Schau also mal in der Config, ob da irgendwo eine Pfadangabe ist. Bei WP gibt es das z.B.
Wenn Du das aber im Confixx geändert hast, dann ist die Installation nun direkt wieder im Root / nur, dass der eben intern wo anders ist. Den Unterordner aus Sicht der Software gibt es nicht mehr.

Aha..ich hab es gefunden. Da ich das in Confixx weiterleite, funktionierte das in meiner config-Datei im Script nicht mehr. Dort stand...

Code: Alles auswählen

define('UNTERVZ', '/xxxxx1');
Jetzt habe ich das eingetragen...

Code: Alles auswählen

define('UNTERVZ', '');
und jetzt geht es :lol:

Noch eine Frage:
Wenn ich aber nun die Domain OHNE www eingebe, bleibt das auch OHNE www. Muss ich das dann noch wegen dem doppelten Content ändern? Was muss ich dann bezüglich den beiden Domains in die Htaccess eintragen?

Verfasst: 30.07.2010, 10:34
von Synonym
Wenn Du da eine Weiterleitung willst, dann musst Du das machen. Dafür legst Du nun in jeden Ordner, also dem für Domain1 und dem für Domain2 eine htaccess an und leitest entsprechend weiter. Beispiele gibt es hier:

https://www.abakus-internet-marketing.d ... -7439.html

Wegen den beiden Domänen selbst brauchst Du Dir keine Gedanken mehr machen. Die sind jetzt so, als ob die in verschiedenen Webpaketen wären, nur eben, dass die bei Dir im FTP in zwei getrennten Ordnern sind. Die beiden Ordner sind Deine beiden Roots.

define('UNTERVZ', '');
Jep, das war es. Wie gesagt, zum Verbildlichen....

Das "xxxx1" war vorher Bestandteil von "REQUEST_URI"
Nun gehört es aber zu "DOCUMENT_ROOT"

Und da beide zusammen den absoluten Pfad ergeben bleibt eben dieser dennoch gleich.

Verfasst: 30.07.2010, 10:42
von tombone
Synonym hat geschrieben:Wenn Du da eine Weiterleitung willst, dann musst Du das machen. Dafür legst Du nun in jeden Ordner, also dem für Domain1 und dem für Domain2 eine htaccess an und leitest entsprechend weiter. Beispiele gibt es hier:

https://www.abakus-internet-marketing.d ... -7439.html

Wegen den beiden Domänen selbst brauchst Du Dir keine Gedanken mehr machen. Die sind jetzt so, als ob die in verschiedenen Webpaketen wären.
Vielen Dank für deine Hilfe! Super :D
Jetzt bin ich wieder ein Problem los :-)

Grüße
Thomas