anderes mod_rewrite-problem: virtual hosts

Gesperrt
axl
Beiträge: 6
Registriert: Sa 22. Nov 2003, 22:16
Wohnort: nrw
Kontaktdaten:

anderes mod_rewrite-problem: virtual hosts

Beitrag von axl »

liebe gemeinde!

das aufsetzen des ersten mandanten ging problemlos. das des zweiten ebenso. jetzt stehe ich allerdings vor dem problem, daß mir die umleitungsregeln nicht gehorchen wollen. oder besser: sie leiten um, was sie sollen, bis auf eine kleinigkeit.



zunächst meine konfiguration:

contenido-pfad: http://www.apfelix.net/contenido/
1. mandantenpfad: http://www.apfelix.net/
2. mandantenpfad: http://www.artribut.de/con/cms/

der 2. mandant soll später unter http://www.artribut.de/ erreichbar sein, was nichts an dem problem ändert.


damit das ganze funktioniert, habe ich die pfade in contenido angepaßt, und im apache (also in der httpd.conf) umleitungsregeln definiert. da die domains in virtual hosts verwaltet werden, sind die regeln hier nach diesen gruppiert:

# virtual host www.apfelix.net
RewriteRule ^/contenido(.*) http://www.apfelix.net/con/contenido/$1 [S=3]
RewriteRule ^/con/cms-artribut(.*) http://www.apfelix.net/con/cms-artribut/$1 [S=2]
RewriteRule ^/con/cms(.*) http://www.apfelix.net/con/cms/$1 [S=1]
RewriteRule ^/(.*) http://www.apfelix.net/con/cms/$1

# virtual host www.artribut.de
RewriteRule ^/con/contenido(.*) http://www.apfelix.net/contenido/$1 [S=2]
RewriteRule ^/contenido(.*) http://www.apfelix.net/contenido/$1 [S=1]
RewriteRule ^/con/cms(.*) http://www.artribut.de/cms-artribut/$1


damit ist die pflege aller seiten unter http://www.apfelix.net/contenido möglich, und die beiden mandanten unter den o.g. adressen erreichbar. soweit ist alles toll. jetzt meldet sich ein redakteur an und möchte einen artikel des zweiten mandanten bearbeiten. nach dem klick auf dem betreffenden artikel-eintrag erscheint der editor. das ist in ordnung.

nicht in ordnung ist, daß die grafik "Übersicht" statt "Editor" markiert ist. außerdem verursacht dieses problem einen scriptfehler. beim ersten mandanten besteht dieses problem nicht. ich vermute, daß irgendeine referenzierung zwischen den beiden virtual domains mit einem relativen pfad kollidiert.

infos:
1. im error- und access-log des apache wird eine datei als vermißt gemeldet. ich weiß nicht, ob das ein eigenes problem ist, aber in einer produktiven 4.4.0 tauchte das nicht auf:
file does not exist: /kunden/apfelix-root/con/contenido//styles/images/bg_high.gif

2. den effekt kann man als screenshot einsehen unter: http://www.apfelix.net/front_content.ph ... 1&client=1



hat jemand dazu eine idee? ich wäre auch zufrieden, wenn die pflege der seite über die domain des 2. mandanten laufen würde, also z.b. über:

http://www.artribut.de/contenido

das lief aber gar nicht...

danke fürs denken,

cu
axl
infos zu contenido:
- linux suse 8.0
- apache 1.3.23
- php 4.1.0
- mysql 3.23.48
- contenido 4.4.1
- spaw 1.0.3 (deaktiviert!)
(alles mit den aktuellsten patches)


----------------------
http://www.apfelix.net
axl
Beiträge: 6
Registriert: Sa 22. Nov 2003, 22:16
Wohnort: nrw
Kontaktdaten:

Beitrag von axl »

ok,
habs selber gefunden... wer dasselbe problem hat: besser für jeden virtual host eine eigene backend- und eine eigene frontend-umleitung basteln. dann klappts auch mit dem nachbarn ;) das ist auch besser für das logging des apache, falls hier für jeden virtual host ein eigenes log erstellt wird (das vielleicht auch zur abrechnung von traffic oder zur generierung von webstatistiken, wie bei awstats üblich, genutzt wird).

damit das richtig umgeleitet wird, habe ich im filesystem einen link angelegt, der dann zum wirklichen cms-ordner umleitet.

statt also

Code: Alles auswählen

# virtual host www.apfelix.net
RewriteRule ^/contenido(.*) http://www.apfelix.net/con/contenido/$1 [S=3]
RewriteRule ^/con/cms-artribut(.*) http://www.apfelix.net/con/cms-artribut/$1 [S=2]
RewriteRule ^/con/cms(.*) http://www.apfelix.net/con/cms/$1 [S=1]
RewriteRule ^/(.*) http://www.apfelix.net/con/cms/$1

# virtual host www.artribut.de
RewriteRule ^/con/contenido(.*) http://www.apfelix.net/contenido/$1 [S=2]
RewriteRule ^/contenido(.*) http://www.apfelix.net/contenido/$1 [S=1]
RewriteRule ^/con/cms(.*) http://www.artribut.de/cms-artribut/$1 
jetzt neu:

Code: Alles auswählen

# virtual host www.apfelix.net
RewriteRule ^/contenido(.*) http://www.apfelix.net/con/contenido/$1 [S=2]
RewriteRule ^/con(.*) http://www.apfelix.net/con/$1 [S=1]
RewriteRule ^/(.*) http://www.apfelix.net/con/cms/$1

# virtual host www.artribut.de
RewriteRule ^/contenido(.*) http://www.artribut.de/contenido/$1 [S=1]
RewriteRule ^/con/cms(.*) http://www.artribut.de/cms-artribut/$1 
schwieriges thema... wer noch nähere infos braucht: einfach bei mir melden.

cu
axl
infos zu contenido:
- linux suse 8.0
- apache 1.3.23
- php 4.1.0
- mysql 3.23.48
- contenido 4.4.1
- spaw 1.0.3 (deaktiviert!)
(alles mit den aktuellsten patches)


----------------------
http://www.apfelix.net
Gesperrt