mod_rewrite erreicht LimitInternalRecursion

Ich habe einen VServer wo ich einige admin-apps, die in /var/www/,
eine andere gemeinsame Sachen in /var/Kunden/webs/web001/.

Möchte ich eine Umleitung für alle nicht vorhandenen Dateien und Verzeichnisse

            /var/www/-> /var/customers/webs/web001/

So, ich kann die Verwendung der domain-Namen für root und für web001 Kunden.

Ich bin nicht sicher, was ist der beste Weg, dies zu erreichen.
Ich habe versucht mit mod_rewrite, aber es gibt interne Umleitungen, die an die Grenze der Rekursion.

Was mache ich falsch?

.htaccess

            # allow psydo-location (not existing folder)
            Options +FollowSymLinks

            # Turn on URL rewriting engine
            RewriteEngine On

            # Folder of this htaccess-file in not root-folder
            RewriteBase /var/www/

            # Disable rewriting for existing files or directories
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_FILENAME} !^/var/customers/webs/web001/

            # redirect all other requests to index.php
            rewriteRule ^.*$ /var/customers/webs/web001/index.php [DPI,L]

apache2/error.melden Sie

            Request exceeded the limit of 10 internal redirects 
            due to probable configuration error. 
            Use 'LimitInternalRecursion' to increase the limit if necessary. 
            Use 'LogLevel debug' to get a backtrace.
            redirected from r->uri = /var/customers/webs/web001/index.php
            redirected from r->uri = /var/customers/webs/web001/index.php
            redirected from r->uri = /var/customers/webs/web001/index.php
            redirected from r->uri = /var/customers/webs/web001/index.php
            redirected from r->uri = /var/customers/webs/web001/index.php
            redirected from r->uri = /var/customers/webs/web001/index.php
            redirected from r->uri = /var/customers/webs/web001/index.php
            redirected from r->uri = /var/customers/webs/web001/index.php
            redirected from r->uri = /var/customers/webs/web001/index.php
            redirected from r->uri = /index.php

umschreiben.melden Sie

            (3) [perdir /var/www/] strip per-dir prefix: /var/www/index.php -> index.php
            (3) [perdir /var/www/] applying pattern '^.*$' to uri 'index.php'
            (4) [perdir /var/www/] RewriteCond: input='/var/www/index.php' pattern='!-f' => matched
            (4) [perdir /var/www/] RewriteCond: input='/var/www/index.php' pattern='!-d' => matched
            (4) [perdir /var/www/] RewriteCond: input='/var/www/index.php' pattern='!^/var/customers/webs/web001/' => matched
            (2) [perdir /var/www/] rewrite 'index.php' -> '/var/customers/webs/web001/index.php'
            (2) [perdir /var/www/] trying to replace prefix /var/www/with /var/www/
            (1) [perdir /var/www/] internal redirect with /var/customers/webs/web001/index.php [INTERNAL REDIRECT]
            (3) [perdir /var/www/] add path info postfix: /var/www/var -> /var/www/var/customers/webs/web001/index.php
RewriteBase sollte relativ zum document-root, nicht auf das Dateisystem root. So sollte es sein, nur RewriteBase /. Auch können Sie nicht umleiten in Dateien außerhalb des DocumentRoot als Apache erlauben es nicht.
Dann meine Frage sollte sein: Wo und was sollte ich einstellen, um den Inhalt des Dateisystem-Ordner "/var/www/" und "/var/Kunden/webs/web001/" auf Anfrage für den gleichen domain?
Ich glaube nicht, dass Sie können.
Es ist möglich, den Zugriff auf Dateien außerhalb des DocumentRoot durch Einstellung in httpd.conf den Alias-Richtlinie: Alias /web001 "/var/Kunden/webs/web001/". Seine nicht exakt das gleiche, was ich will, aber ist die nächste Lösung, die ich bekam, bis jetzt.

InformationsquelleAutor code_angel | 2012-05-18

Schreibe einen Kommentar