VirtualHosts rewrite conditions in htaccess

vistree

Member
Hallo zusammen,
ich habe eine Frage, die sich nicht direkt auf ISPconfig bezieht - sich aber davon ableitet ;-)
Ich habe einen ISPconfig 3.0. Bei diesem ändere ich das docroot der meisten Domains, indem ich in der ISPconfig Oberfläche für die Domain eine Umleitung einrichte:
Weiterleitungstyp: Kein Flag
Weiterleitungspfad: /cms/docroot/

Das resultiert in einer Änderung der zugehörigen vhost-Datei:


RewriteEngine on
RewriteCond %{HTTP_HOST} ^meine-domain\.de$ [NC]
RewriteCond %{REQUEST_URI} !^/webdav/
RewriteCond %{REQUEST_URI} !^/php-fcgi/
RewriteCond %{REQUEST_URI} !^/cms/docroot/

RewriteRule ^/(.*)$ /cms/docroot/$1

RewriteCond %{HTTP_HOST} ^www\.meine-domain\.de$ [NC]
RewriteCond %{REQUEST_URI} !^/webdav/
RewriteCond %{REQUEST_URI} !^/php-fcgi/
RewriteCond %{REQUEST_URI} !^/cms/docroot/

RewriteRule ^/(.*)$ /cms/docroot/$1

Jetzt würde ich gerne das gleiche Verhalten bei einer Fremd-gehosteten Domain machen, da dort kein Einfluss auf die open_basedir-Einstellungen vorgenommen werden kann und ich bestimmte Ordner außerhalb des web-roots haben möchte (vendor-Ordner). Dort sind aber auch ausgeführte PHP enthalten, welche durch die open_basedir Einstellungen geblockt werden.

Leider habe ich auch keinen Zugriff auf die vhost /Apache-Einstellungen. Daher stelle ich mir die Frage, ob ich das nicht auch in einer .htaccess innerhalb des docroot lösen kann.
Ich habe das bereits probiert, bekomme dann aber einen 403-Fehler.

Hat da jemand eine Idee? Muss ich noch irgendwelche zusätzlichen Optionen mit in diese übergeordnete .htaccess aufnehmen oder in der welche im web-root liegt?
 

Till

Administrator
Ich habe einen ISPconfig 3.0. Bei diesem ändere ich das docroot der meisten Domains, indem ich in der ISPconfig Oberfläche für die Domain eine Umleitung einrichte:
Weiterleitungstyp: Kein Flag
Weiterleitungspfad: /cms/docroot/
So ändert man nicht das DocRoot. Das was Du da machst ist ja nur einer Weiterleitung (Apache rewrite) und keine Docroot Änderung. Wenn das ein Apache web server ist, dann änderst Du das Document root über das Apache Direktiven Feld auf dem Optionen Reiterd er Webseite, dort fügst Du ein:

Code:
DocumentRoot  {DOCROOT_CLIENT}/cms/docroot/
 

vistree

Member
Hallo Till,
vielen Dank für deine Rückmeldung. Es handelt sich ja leider NICHT um ein ISPconfig und ich habe keinen Zugriff auf die Server-Configs.
Ich kann natürlich den docroot ändern - allerdings funktioniert dann Drupal (das installierte CMS) nicht mehr, da auf dem Fremdserver die open_basdir nur das DOCROOT und ein TMP-Verzeichnis einschließt.
Daher will ich nicht das docroot ändern, sondern per htaccess im DOCROOT so auf ein Unter-/Unterverzeichnis umleiten, ohne dass dieses Verzeichnis dann in der URL noch sichtbar ist. Der Aufruf soll ganz normal über meine-domain.de erfolgen.

In ISPconfig nutzt ich das auch oft, und da wird dann o.g. Eintrag in der apache-virtualhost gemacht.

Da ich aber auf dem Fremdserver keinen Zugriff auf die vhost habe, möchte ich diese Umleitung per htaccess mache.
Geht das?
 

Werbung

Top