Sto provando a creare una regola utilizzata in un file .htaccess in modo che corrisponda a una stringa particolare, ad esempio, in questo caso: index
..htaccess rewrite regex: corrisponde a tutto tranne "index"
ho pensato che dovrebbe essere possibile abbinare a questa stringa speciale prima e utilizzare [L]
, ma che non sta funzionando,
e dovrebbe essere possibile utilizzando la seguente espressione regolare, ma causa un errore 500.
voglio abbinare:
- pagename1
- pagename2/qualunque cosa
- pagename3/234/qualunque cosa
- circa
- Contattateci
- (ecc)
ma n ot
- indice/123
- indice/124/qualunque cosa
(BTW "index" è il nome di un file senza alcuna estensione, non la mia scelta, questa è una cosa di lavoro)
^(?!index)[\w/\-]+
presumo che l'attuazione di apache di espressione regolare non affrontare la regola (?!xxx)
.
Qualsiasi aiuto/suggerimento sarà molto apprezzato.
Ho potuto farlo funzionare solo usando "! Index" invece di "!^Index". (E sì, "indice" era un inizio della stringa di richiesta, come nella domanda di jezmck sopra). Qualche idea sul perché questo potrebbe essere il caso? – rinogo
Risolto. Anche se lavori in una sottodirectory, l'utilizzo di "RewriteCond% {REQUEST_URI}" utilizza l'intero URI della richiesta, quindi devi includere il percorso www nella directory corrente. Nel mio caso, questo significa che ho usato: "RewriteCond% {REQUEST_URI}! ^/R/index $" (il file .htaccess in cui sto lavorando è nella directory 'r'). – rinogo