Domanda

In sostanza Ho recentemente aggiunto il seguito regola nel mio httpd.conf per ISAPI riscrittura su un server IIS per assicurarsi di aver sempre default minuscole nomi di file e directory.

RewriteRule ^(.*[A-Z].*)$ $1 [CL,R=301,L]

Questo è tutto bene e dandy per ogni parte del sito ad eccezione di una directory che possiamo chiamare /MisbehavingDir, il codice in questo particolare directory è pieno di maiuscole e minuscole nomi di file e un sacco di scripting server e lato client che avrebbe devono essere riscritto per utilizzare tutto minuscolo, al fine di funzionare correttamente (con la RewriteRule sopra di esso sembra colpire un paio di 301s nei posti sbagliati che causa che parte del sito di funzionare male a dir poco).

Dal momento che non sono in vena per riscrivere quella parte del sito mi piacerebbe trovare un buon modo per modificare l'espressione regolare sopra in modo che corrisponda tutto tranne i percorsi che iniziano con MisbehavingDir e siccome la mia regex-fu isn' t davvero abbastanza buono ho pensato di chiedere qui.

C'è una soluzione semplice "bello" a questo che qualcuno vuole condividere o devo solo mettere da parte qualche giorno di riscrivere l'applicazione, quindi verificare e passare attraverso tutta quella ballo?

È stato utile?

Soluzione

Bene, a quanto pare il trucco è stato quello di aggiungere un'istruzione RewriteCond che assomiglia RewriteCond %{URL} ^(?!/MisbehavingDir/.*$) al make ISAPI riscrittura saltare la regola successiva.

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