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
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.
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok. Ich habe eine Lösung gefunden.
Es ist nicht in der .htaccess, sondern httpd.conf.
Mit entsprechenden Einstellungen für die DocumentRoot fast alle Anfrage geliefert werden form /var/Kunden/webs/web001/,
außer dieser, die ausgeschlossen werden, die mit Alias-Direktiven.
/Etc/apache2/httpd.conf so Aussehen:
Wie Gerben, sagte, die .htaccess-Datei ist für diesen Zweck nicht hilfreich.
InformationsquelleAutor code_angel