Zope/Plone auf vorhandene Webseite mit Redirect hizufügen?!

Django, Flask, Bottle, WSGI, CGI…
Antworten
goldfinger2
User
Beiträge: 3
Registriert: Mittwoch 28. Juni 2006, 13:33

Hallo Leute!

Trotz Suche im Forum und mit Google und in der Literatur, etc. habe ich das Problem leider nicht lösen können :cry: . Vielleicht kann mir hier jemand helfen.

Problem:

In einer vorhandener Website soll es jetzt einen Unterabschnitt geben, in dem Plone/Zope eingesetzt werden soll.

Unter der Webseite
http://www.Seite.de/
liegen die "normalen" Seiten

Unter
http://www.Seite.de/Plone
soll das Gespann Zope/Plone angesprochen werden.
Das funktioniert leider nicht. Leider kann ich auch kein anderer CNAME im DNS für diesen Server eintragen lassen und alles über einen vhost lösen.

Ich habe ein VHM am laufen und alles funktioniert, wenn ich direkt den "/" umlenke mit
  • RewriteEngine On
    RewriteRule ^/(.*) http://<Rechnername>:10080/VirtualHostBase/http/<Rechnername>:80/Plone/VirtualHostRoot/$1 [L,P]
Dann ist aber leider meine eigentliche Webseite weg, die ich leider nicht nach Plone "konvertieren" kann (einiges an Java-Skripten drin).

Wenn ich jetzt
  • RewriteEngine On
    RewriteRule ^/(.*)/Plone http://<Rechnername>:10080/VirtualHostBase/http/<Rechnername>:80/Plone/VirtualHostRoot/$1 [L,P]
    RewriteRule ^/Plone ....
mache, und gebe in meinen Browser ein
http://<Rechnername>/Plone/
ein, dann bekomme ich leider nur eine zerstückelte Webseite von Plone ohne Grafiken.

Kennt das Problem jemand und hat da schon jemand eine Lösung gefunden?

Danke schon mal im Voraus!
Günther
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hi Günther!

Vielleicht genügt es schon, wenn du die Klammern anders setzt.

Code: Alles auswählen

RewriteEngine On
RewriteRule ^/(.*/Plone) http://<Rechnername>:10080/VirtualHostBase/http/<Rechnername>:80/Plone/VirtualHostRoot/$1 [L,P]
Ich kann es im Moment leider nicht ausprobieren.

Wenn nichts geht, dann würde ich die Anweisung in eine <directory>Direktive einschließen. Siehe: http://httpd.apache.org/docs/2.0/mod/co ... #directory

Außerdem muss natürlich das VirtualHostMonster im Root der ZopeInstanz installiert sein. Bei älteren Zope-Versionen ist das noch nicht der Fall. Bei neueren wird das VHM automatisch in den Root-Ordner der Zopeinstanz installiert.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hi!

Zope fügt in den Head-Bereich der Website den Base-Tag ein. Dieser muss die korrekte Url anzeigen. Ansonsten werden die Stylesheets nicht vom Plone-Ordner geholt.

Code: Alles auswählen

<base href="http://<SERVER>/Plone/..." />
Daran erkennt man, wie das VHM die URL umschreibt und kann die "RewriteRule" dementsprechend anpassen.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
goldfinger2
User
Beiträge: 3
Registriert: Mittwoch 28. Juni 2006, 13:33

Hi!

Danke für die schnelle Antwort!

Leider hat der erste Tipp mit den Klammern um die Redirect-Regel nichts gebracht. Wie ich jetzt festgestellt habe wird die Zeile
  • RewriteRule ^/.*/Plone ..
gar nicht genutzt, sondern nur die zweite Zeile mit
  • RewriteRule ^/Plone ...
Funktioniert also leider nicht :(

Wenn ich die Rewrite-Regeln jetzt wieder so drin habe, dass "/" angezeigt wird, dann sehe ich im HTML-Quelltext den Base-Tag als

Code: Alles auswählen

<base href="http://<Rechnername>/front-page
Mit der "falschen" Rewrite-Regel bekomme ich als Base-Tag

Code: Alles auswählen

<base href="http://<Rechnername>/Plone/front-page
Auf dieser Seite sehe ich dann nur schlecht formatierten Text ohne Bilder und ohne Frames.

So richtig weiter hilft mir das Base-Tag jetzt auch nicht.

Gruß und Danke!
Günther
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

goldfinger2 hat geschrieben:RewriteRule ^/.*/Plone ..
RewriteRule ^/Plone ...
Funktioniert also leider nicht
Hi Günther!

Code: Alles auswählen

RewriteEngine On
RewriteRule ^/Plone/(.*) http://<Rechnername>:10080/VirtualHostBase/http/<Rechnername>:80/Plone/VirtualHostRoot/$1 [L,P]
Wenn das nicht hilft, dann kann ich dir nur helfen, wenn du mehr Code raus rückst.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
goldfinger2
User
Beiträge: 3
Registriert: Mittwoch 28. Juni 2006, 13:33

Hi Gerold!

Vielen Dank für Deine Tipps! Das Problem ist jetzt gelöst. Es war (natürlich) ein Problem mit den RegExp im RewriteRule. Dein Hinweis stimmte mit ^/Plone/(.*).
Dann war noch ein Fehler beim VHM. Und zwar muss es (wie untenstehend) richtig heißen:
VirtualHostRoot und dann erst den Pfad zum Container Plone

Code: Alles auswählen

RewriteEngine On
RewriteRule ^/Plone/(.*) http://<Rechnername>:10080/VirtualHostBase/http/<Rechnername>:80/VirtualHostRoot/Plone/$1 [L,P]
RewriteRule ^/Plone http://...
Der zweite Rewrite-Eintrag ist auch wichtig, da auf der Plone-Seite der Link zur Startseite nur auf <Rechnername>/Plone verweist. Ohne den zweiten Eintrag geht der Link dann mit dem Verweis "Kein Zugriff" ins Leere.

Vielen herzlichen Dank nochmals!

Günther
Antworten