2017-05-16 3 views
1

ich diese Struktur verwendet haben:zum vorherigen Ordner Rewrite

mysite (root) L private L login.php L logout.php L db L manage_db.php L one-client.com L other-client.com L uploads L public L assets, etc.

Aber jetzt hat sich das auf diese geändert:

mysite (root) L private L app-core (new folder) L login.php L logout.php L db L manage_db.php L one-client.com L other-client.com L uploads L public L assets, etc.

Was ich brauche, ist die URL umschreiben für die Möglichkeit, Zugriff auf die Login-Datei von mysite.com/private/login anstelle von mysite.com/private/app-core/login. Ich habe versucht, dies aber nicht funktioniert:

RewriteRule ^private/app-core/(.*)$ /private/$1 [L,NC,R=302]

+0

@anubhava Ja, sie alle zeigen auf die vorherigen Pfade. –

+0

Ich versuchte 'RewriteRule^private /(.*)$/private/app-Kern/$ 1 [L, NC, R = 302]' aber immer noch nicht funktioniert. Wirf 404 Fehler. –

Antwort

1

Diese Ihre Regel ist:

RewriteRule ^private/app-core/(.*)$ /private/$1 [L,NC,R=302] 

Diese Regel Reverse tatsächlich tut. Sie können nur diese Regel verwenden alten /private/login URLs mit /app-core neuen zu ändern dazwischen für einen bestimmten Satz von URLs:

RewriteRule ^private/(?!app-core|one-client\.com|uploads)(.*)$ /private/app-core/$1 [NC,L] 

Dies wird korrekte Umleitung tun.

(?!app-core) negativ Look-Ahead, was bedeutet, wir haben nicht app-core nach /private/

Vergewissern Sie Ihren Browser-Cache vor dem Test zu löschen.

+0

Vielen Dank für Ihre Antwort, aber funktioniert nicht wie erwartet. Wenn ich auf 'mysite.com/private /' zugreife, leitet mich der Server zu 'mysite.com/private/app-core /' weiter. –

+0

Ja, aber hat nicht funktioniert. Jetzt benutze ich das und arbeite wie erwartet: 'RewriteRule^private/(?! App-Kern) (. *) $/Private/app-core/$ 1 [QSA, L]'. –

+0

Nein, ich wollte die URL neu schreiben. –

Verwandte Themen