URL Rewrite .htaccess a sottodirectory
-
21-08-2019 - |
Domanda
Qual è il metodo migliore per riscrivere nulla al di sotto "/ some / subdir" a "/ alcuni / subdir / progetti" simile a questa:
http://www.mydomain.com/some/subidr/test/
... a questo:
http://www.mydomain.com/some/subdir/projects/test/
Ho trovato un domanda simile pubblicato, ma la soluzione non l'ho fatto sembra funzionare nel mio caso. Il mio tentativo di corrente fino ad ora (che non sembra funzionare):
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/projects/.*$
RewriteRule ^(.*)$ /projects/$1 [L]
EDIT:. Ho dimenticato di citare il file .htaccess dovrebbe essere seduto all'interno di / some / subdir come non ho accesso in scrittura al web root del server
Soluzione
Questa è la soluzione che ho finalmente avuto modo di lavorare:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/some/subdir/projects/.*$
RewriteRule ^(.*)$ /some/subdir/projects/$1 [L]
Altri suggerimenti
Prova questa regola nel file di configurazione .htaccess nella root del documento del server:
RewriteEngine on
RewriteRule !^some/subdir/projects(/|$) some/subdir/projects%{REQUEST_URI} [L]
Come si desidera utilizzare questa regola nella /some/subdir/
directory, modificare la regola come segue:
RewriteRule !^projects(/|$) projects%{REQUEST_URI} [L]
E se si desidera reindirizzare le richieste di /some/subdir/projects/
foobar
a <=> <=> , mettere questa regola di sopra del precedente citato:
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /some/subdir/projects[/?\s]
RewriteRule ^some/subdir/projects/?([^/].+)?$ /some/subdir/$1 [L,R=301]
Vorrei usare questa:
RewriteEngine On
RewriteRule ^(/some/subdir)/(.*)$ $1/projects/$2
Questo reindirizzerà /some/subdir/<anything>
a /some/subdir/projects/<anything>
.
Si noti che il principale /
è effettivamente necessaria per corrispondere all'inizio del URL, meno voi hanno RewriteBase /
impostare da qualche parte.