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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top