.htaccess URL Rewrite zu Subdirectory
-
21-08-2019 - |
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
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.