Seite 1 von 2

Subdomains mod_rewrite > Bitte Hilfe

Verfasst: 18.10.2013, 07:35
von tomfuse
Hallo zusammen.

Wir haben folgendes Problem: Unser webmaster ist nicht mehr im Unternehmen und wir müssen eine Änderung an der .htaccess vornehmen.

Ziel: subdomain.domain.com soll erreichbar sein

Erledigt:
- Verzeichnis "subdomaindir" ist angelegt, ok
- Backend 1&1 ist subdomain angelegt und aktiv, ok
- Backend wurde subdomain dem "subdomaindir" zugewiesen, ok
- im "subdomaindir" liegt eine datei index.html (zum testen)

Derzeit sieht unsere Datei so aus:

Options -MultiViews
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/(livezilla)
RewriteCond %{REQUEST_URI} !^/(xxxxx-xxxxxx/index.php)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(gn)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d


RewriteRule ^(.*)$ /shop/index.php?q=$1 [L,QSA]
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php
Redirect /index.html https://www.domain.com/shop/

Frage:
Was muss geändert / hinzugefügt werden, damit subdomains erreichbar sind?


Vielen Dank für Eure Hilfe, bin sicher ich lerne was.
Gruß
tom

Verfasst:
von

Re: Subdomains mod_rewrite > Bitte Hilfe

Verfasst: 18.10.2013, 07:49
von umwelt

Code: Alles auswählen

Options -MultiViews
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/(livezilla)
RewriteCond %{REQUEST_URI} !^/(xxxxx-xxxxxx/index.php)
RewriteCond %{REQUEST_URI} !^/(gn)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Müsste auch so funktionieren
tomfuse hat geschrieben:

Code: Alles auswählen

RewriteRule ^(.*)$ /shop/index.php?q=$1 [L,QSA]
Sämtliche Aufrufe abfangen und an shop/index.php?q=blabla? Vielleicht liegt's daran.

Wenn Du im Subdomain-Verzeichnis keine .htaccess liegen hast, sollte es eigentlich funktionieren.
Ansonsten tüftel mal mit

Code: Alles auswählen

RewriteCond %{HTTP_HOST} ^subdomain\.domain\.de$
und lege dafür spezielle Bedingungen an.

Viele Grüße!

Verfasst: 18.10.2013, 16:05
von tomfuse
Hallo Umwelt,

danke für Deine Hinweise. Leider komme ich nicht weite.
Entweder geht keine normale Unterseite inkl. Subdomain, oder eben nur die herkömmliche Variante.


RewriteRule ^(.*)$ /shop/index.php?q=$1 [L,QSA]

Wie kann man das umbauen, warum steht das so dort?
Rufe ich die Domain xxxxx.com auf, soll auf das Verzeichnis /shop/index.php verwiesen werden, aber das muss eben die subs ausschließen.

Bitte nochmals um Hilfe
Danke

Verfasst: 19.10.2013, 09:33
von Seo.gy
Hallo,

normalerweise reicht es wenn du mit Confixx, CPanel usw. eine Subdomain anlegst und fertig.

Falls es das bei 1und1 nicht gibt - versuch mal das:
RewriteCond %{HTTP_HOST} subdomain.domain.com$ [NC]
RewriteCond %{REQUEST_URI} !/subdomain/
RewriteRule ^(.*)$ subdomain/$1 [L]

Verfasst: 19.10.2013, 10:04
von tomfuse
Hallo Jürgen, auch Dir vielen Dank für deinen Vorschlag.

Setze ich diesen in die Datei ein, erhalte ich in der Browserzeile:
https://www.domain.com/index.hmtl?q=subdomain/

Vielleicht müsste man doch diese Zeile umstricken:
RewriteRule ^(.*)$ /shop/index.php?q=$1 [L,QSA]

gruß
tom

Verfasst: 19.10.2013, 10:13
von Kristian
Wo liegt dein "subdomain-dir"?
Ich vermute es liegt ungeschickter weise im htdocs-Verzeichnis der Hauptdomain.
Beim Apache ist es so, dass er alle .htaccess "mit nimmt" die im Pfad liegen, der zur gewünschten Indexseite führt.
Schön wäre also wenn die Subdomain nicht im Verzeichnis der Hauptdomain liegt.

Verfasst: 19.10.2013, 11:45
von tomfuse
Die Subdomain liegt unter Hauptdomain/Verzeichnis
Die Hauptdomain unter Hauptdomain/shop
Meintest du das?

Verfasst: 19.10.2013, 12:11
von Kristian
Hmm, gute Frage ;-)
Machen wir es anders, kannst du
http:// www. hauptdomain .tld / subdomainverzeichnis /
aufrufen?

Verfasst: 20.10.2013, 12:39
von tomfuse
Hallo Kristian,

ja der direkte Aufruf funktioniert.

Verfasst: 20.10.2013, 13:15
von Kristian
tomfuse hat geschrieben:Hallo Kristian,

ja der direkte Aufruf funktioniert.
Der richtige Weg wäre:
In dem was du Hauptverzeichnis nennst legst du ein Verzeichnis www an.
Alles was im Hauptverzeichnis ist verschiebst du nach www.
In der Konfig von 1&1 sagst du, dass die Hauptdomain im Verzeichnis www ist.

Parallel zu www legst du ein Verzeichnis subdomain an.
In der Konfig von 1&1 gibst du dieses Verzeichnis für die Subdomain an.

Dann behindern / beeinflussen die beiden sich nicht.

Der schnelle Weg (dirty hack) ist diese .htaccess:

Code: Alles auswählen

Options -MultiViews
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/(livezilla)
RewriteCond %{REQUEST_URI} !^/(xxxxx-xxxxxx/index.php)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(gn)

RewriteCond %{HTTP_HOST} !^subdomain\.domain\.de$ 

RewriteRule ^(.*)$ /shop/index.php?q=$1 [L,QSA]
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Redirect /index.html http://www.domain.com/shop/
aber auf Dauer hast du da auch nur Ärger mit.

Verfasst: 20.10.2013, 19:22
von tomfuse
Hallo Kristian,

danke für Deine ausführliche Antwort. Den Dirty Hack habe ich eben versucht.
Leider hier ohne Erfolg - ich erhalte weiterhin die gleichen Ergebnisse wie zuvor.
Subdomain wird nicht aufgerufen.

Verfasst: 20.10.2013, 19:32
von Kristian
Hmmm, sollte eigentlich klappen...
Du hast subdomain\.domain\.de hoffentlich angepasst?

EDIT:
Zur Sicherheit, kannst du die Subdomain aufrufen, wenn die .htaccess weg bzw. umbenannt ist?

Verfasst: 20.10.2013, 22:14
von tomfuse
Ja alles angepasst, von daher sollte es passen.
Ja die Subdomain kann ich aufrufen

Verfasst: 21.10.2013, 07:04
von Kristian
tomfuse hat geschrieben:Ja alles angepasst, von daher sollte es passen.
Ja die Subdomain kann ich aufrufen
Ahh, jetzt ja.

Code: Alles auswählen

Options -MultiViews
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/(livezilla)
RewriteCond %{REQUEST_URI} !^/(xxxxx-xxxxxx/index.php)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(gn)

RewriteCond %{HTTP_HOST} !^subdomain\.domain\.de$

RewriteRule ^(.*)$ /shop/index.php?q=$1 [L,QSA]
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

RewriteCond %{HTTP_HOST} !^subdomain\.domain\.de$
RewriteRule /index.html http://www.domain.com/shop/ [R=301]


Verfasst: 21.10.2013, 13:40
von tomfuse
Ich muss dich leider enttäuschen.
Die Weiterleitung die Subdomains funktioniert nicht. Wir kommen immer wieder auf die URL der Hauptdomain die unter /shop/ liegt.