Frage

Was ist die beste Methode zu umschreiben etwas unter "/ some / subdir" auf "/ some / subdir / Projekte" wie aus dieser:

http://www.mydomain.com/some/subidr/test/

... folgt aus:

http://www.mydomain.com/some/subdir/projects/test/

fand ich eine ähnliche Frage geschrieben, aber die Lösung nicht scheint in meinem Fall zu arbeiten. Mein aktueller Versuch so weit (was nicht zu funktionieren scheint):

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_URI} !^/projects/.*$
RewriteRule ^(.*)$ /projects/$1 [L]

EDIT:. Ich habe vergessen, die .htaccess-Datei in / some / subdir werden würde zu erwähnen sitzen, wie ich an den Server des Web-Root keinen Schreibzugriff haben

War es hilfreich?

Lösung

Das ist die Lösung, die ich habe endlich zu arbeiten:

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/some/subdir/projects/.*$
RewriteRule ^(.*)$ /some/subdir/projects/$1 [L]

Andere Tipps

Versuchen Sie, diese Regel in der .htaccess-Konfigurationsdatei im Document-Root des Servers:

RewriteEngine on
RewriteRule !^some/subdir/projects(/|$) some/subdir/projects%{REQUEST_URI} [L]

Wie Sie in Ihrem /some/subdir/ Verzeichnis diese Regel verwenden, um die Regel wie folgt ändern:

RewriteRule !^projects(/|$) projects%{REQUEST_URI} [L]

Und wenn Sie irgendwelche Anfragen von /some/subdir/projects/ umleiten möchten foobar /some/subdir/ foobar , setzen Sie diese Regel über die vorherige erwähnt:

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /some/subdir/projects[/?\s]
RewriteRule ^some/subdir/projects/?([^/].+)?$ /some/subdir/$1 [L,R=301]

Ich würde verwenden:

RewriteEngine On
RewriteRule ^(/some/subdir)/(.*)$ $1/projects/$2

Dies wird /some/subdir/<anything> zu /some/subdir/projects/<anything> umleiten.

Beachten Sie, dass der führende / tatsächlich benötigt wird, um den Anfang der URL zu entsprechen, es sei denn, Sie haben irgendwo RewriteBase / gesetzt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top