Entwickler-Ecke

Sonstiges (Web-Entwicklung) - Apache; ModRewrite subdomain


Aya - Mo 21.07.14 14:16
Titel: Apache; ModRewrite subdomain
Hi,

ich versuche via ModRewrite eine subdomain für meine domain zu erstellen.

Domain: mydomain.com
Subdomain: test.mydomain.com
www-root: /var/www/mydomain/web/
subdomain-root: /var/www/mydomain/web/test/


Das ist wie ich es bisher im moment habe:

Quelltext
1:
2:
3:
RewriteCond %{HTTP_HOST} test.mydomain.com$ [NC]
RewriteCond %{REQUEST_URI} !/test/
RewriteRule ^(.*)$ test/$1 [L]


das funktioniert auch wunderbar, allerdings muss ich es jetzt noch um eine Kleinigkeit erweitern.

Es gibt z.B. ein Bild welches an folgendem ort liegt:

Quelltext
1:
/var/www/mydomain/web/test/images/example.png                    


Wenn ich nun als URL folgendes eingebe:

Quelltext
1:
http://test.mydomain.com/images/example.png                    


wird das bild anzeigt wie erwartet.


Wenn ich jetzt allerdings einen pfad angebe den es nicht gibt, möchte ich gern das dieser pfad an meine index.html übergeben wird. So als würde ich folgende RewriteRule haben:

Quelltext
1:
RewriteRule ^(.*)$ test/?$1 [L]                    


Mit dieser Rule funktioniert dann aber leider das Bild nichtmehr, da die Url dann in soetwas gewandelt wird:

Quelltext
1:
http://test.mydomain.com/test/?images/example.png                    



Kann ich irgendwie beides vereinen..? Also wenn es eine datei an der Url von der ersten RewriteRule gibt soll diese benutzt werden - ansonsten als parameter übergeben?


Ich könnte natürlich den pfad IMMER an meine index-datei übergeben, in dieser überprüfen ob der pfad existiert und ggf. die entsprechende Datei ausgeben... allerdings würde ich das nur sehr ungern machen, solange es irgendwie mit mod_rewrite machbar ist.


Vielen dank,
Daniela


Sylar - Fr 12.09.14 09:37

Hallo,
ich weiß nicht, ob es dir evtl. weiterhilft, aber es gibt den html <base> Tag.
Evtl. kann der dir ja weiterhelfen?

http://www.w3schools.com/tags/tag_base.asp

Dann darfst du halt hier nicht:

/test.mydomain.com/test/?images/example.png

verwenden, also das ? durch deine Rewrite Rule, sondern benutzt:

/test.mydomain.com/test/

als <Base> Pfad, wo du nur noch das Bild anhängst.

Ich hoffe das löst das Problem?

Gruß,
Sylar