2016-09-22 4 views
0

With Reference htaccess RewriteRule redirecting to parent directory?Zu viele Umleitungen Fehler und Browser zeigt

Danke Franc Casula, Ihre Antwort war sehr hilfreich, Anwendung leitet nun von einem Dokument Wurzel zu anderen. Ich stehe vor endlosen Weiterleitungen.

Ich habe folgende Repositories mit verschiedenen Versionen.

  1. /var/www/portal/version/1.1.1/public/ binded mit (api.somedomain.com)
  2. /var/www/portal/version/1.1.2/public/
  3. /var/www/portal/version/1.1.3/public/
  4. /var/www/portal/version/1.1.4/public/

I api ausgeführt werden soll, um in den folgenden (durch Version)

api.somedomain.com/qr ---> /var/www/portal/version/1.1.1/public/

api.somedomain.com/v2/qr ---> /var/www/portal/version/1.1.2/public/

api.somedomain.com/v3/qr ---> /var/www/portal/version/1.1.3/public/

api.somedomain.com/v4/qr --->/var/www /portal/version/1.1.4/public/

Mein httpd.conf ist

AliasMatch ^/v2/(.*)$ "/var/www/portal/version/1.1.2/public/" 
<Directory "/var/www/portal/version/1.1.2/public"> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride all 
    Order allow,deny 
    Allow from all 
</Directory> 
. 
. 
AliasMatch ^/v4/(.*)$ "/var/www/portal/version/1.1.4/public/" 
<Directory "/var/www/portal/version/1.1.4/public"> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride all 
    Order allow,deny 
    Allow from all 
</Directory> 

und .htaccess in/var/www/portal/versio n/1.1.4/public/enthält

<IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    RewriteEngine On 
    # Redirect Trailing Slashes... 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

    RewriteCond %{REQUEST_URI} ^/v2/(.*)$ 
    RewriteRule ^(.*)$ v2/index.php [QSA,L] # p2 is the symlink name! 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 

</IfModule> 

Als ich traf https://api.somedomain.com/v2/invitebysms

ich zu viele bekommen Umleitungen Fehler und Browser zeigt

https://api.somedomain.com/v2/invitebysms/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/

+0

Vorausgesetzt, dass Sie Zugriff auf die Konfigurationsdatei des Hauptservers haben, verringern Sie die Komplexität Ihres Regelsatzes * erheblich *, wenn Sie Ihre Konfiguration einfach dorthin stellen, anstatt .htaccess-Dateien in den Mix zu bringen. –

Antwort

0

Ich denke, was du bist es geht um Folgendes:

Alias /v4/ /var/www/portal/version/1.1.4/public/ 
<Directory /var/www/portal/version/1.1.4/public/> 
    Require all granted 
    FallbackResource /v4/index.php 
</Directory> 

Soweit ich verstehe, was Sie zu erreichen versuchen, wird das oben, in Ihrer Server-Konfiguration (löschen Sie die. Htaccess-Datei vollständig) tun, was Sie wollen. (Wiederholen Sie für v2, v3 und so weiter.)

Ich gehe hier davon aus, dass Sie mindestens 2.2.16 oder höher und vorzugsweise 2,4 laufen. Wenn nicht, lassen Sie es mich wissen, und wir werden es erneut versuchen.

+0

Danke Bowen, meine Apache-Version ist 2.4.7. Ich habe die gleichen Änderungen wie Sie vorgeschlagen, aber jetzt 404 bekommen. –

Verwandte Themen