Sto lavorando su un sistema di dominio virtuale. Ho un DNS jolly impostato come *.loc
e sto cercando di lavorare sul mio file .htaccess
. Il seguente codice funziona:.% N backreference all'interno di RewriteCond
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?example\.loc$ [NC]
RewriteCond %{REQUEST_URI} !^/example/
RewriteRule (.*) /example/$1 [L,QSA]
Ma, voglio che questo per lavorare con qualsiasi cosa ho messo in Tuttavia, ho bisogno del %{REQUEST_URI}
controllato contro il testo trovato come il dominio. Ho provato ad utilizzare questo codice:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?([a-zA-Z0-9-]*.)?([a-zA-Z0-9-]+)\.loc$ [NC]
RewriteCond %{REQUEST_URI} !^/%3/
RewriteRule (.*) /%3/$1 [L,QSA]
Ma la linea RewriteCond %{REQUEST_URI} !^/%3/
fa sì che il mio codice a causa di un errore interno del server. Capisco che questo è dovuto al% N nel mio codice, ma c'è un modo in cui posso lavorarci? Ho bisogno di questa linea, altrimenti il mio codice non riesce da reindirizzamenti interni.
Spero che questo abbia senso per qualcuno. Tutto ciò di cui ho bisogno è di poter effettuare il backreference di un RewriteCond in un successivo RewriteCond.
Cheers! Non ho idea di cosa diavolo sia quella linea, ma funziona. Per ora, sono contento di questo. Il tuo aiuto è molto apprezzato :) –
Dove sulla terra è questo documentato. Questa risposta merita molti più voti positivi. Io voto che non accettiamo la risposta, mettiamo la taglia e reagiamo. –
Molto intelligente! Grazie =) – gobwas