non ho a portata di mano per testare Apache, ma una combinazione di queste regole dovrebbero fare quello che vuoi:
RewriteEngine on
RewriteMap lower int:tolower
RewriteCond ${lower:%{REQUEST_URI}} -U
RewriteRule [A-Z] ${lower:%{REQUEST_URI}} [R=302,L]
- Una mappa minuscola per convertire/qualcosa da/qualcosa
- Una condizione per vedere se la minuscola del REQUEST_URI esiste (-U è richiesta apache interno)
- la regola di fare effettivamente la riscrittura
Non so se RewriteMap può essere applicato in una condizione o se si applica solo a una regola. Questi sono basati su experts exchange accepted answer e a small orange forum discussion.
La tua soluzione "ideale" probabilmente non è possibile a meno che non sia possibile enumerare ogni pagina valida sul tuo sito. Se hai solo poche pagine valide, una combinazione di e una mappa di testo faranno esattamente quello che ti serve. Se ci sono centinaia/migliaia di pagine potrebbe essere necessario scrivere uno script e utilizzare la direttiva prg
.
Se non è possibile identificare ogni pagina valida, è necessario provare ogni variante nel caso. Considera il tuo URL come una stringa binaria, con 0 per la lettera minuscola e 1 per la maiuscola. Solo dal tuo semplice esempio dovresti testare 2^17 variazioni, 128k pagine.
Preferisco utilizzare un 301 rispetto a un 302. – Gumbo