Estoy ejecutando Ubuntu 10.04 LTS, versión Apache 2.2.14.
En httpd.conf tengo una regla de reescritura que se parece a esta:
RewriteRule (*UTF8)^/users/([^/])([^/]+)/(.*)$ /users/$1/$2/$1$2/$3 [L]
La idea es configurar directorios para nombres de dominio internacionalizados (IDN) en mi servidor.
sigo recibiendo
RewriteRule: cannot compile regular expression
¿Alguna idea de si es la versión demoníaca o algo más?
Respuesta1
(*UTF8)
no es una expresión regular válida y no estoy seguro de por qué la solicita; elementos similares .*
en su expresión regular coincidirán con cualquier carácter, codificado en UTF8 o no. A lo que te refieres es a perl, no a mod_rewrite, que requiere la habilitación explícita de la compatibilidad con utf8.
Para mod_rewrite, estás intentando tratar una codificación particular de una manera especial, y simplemente no es necesaria en este caso.
Es decir,
RewriteRule ^/users/(.*)$ /newusers/$1 [L]
coincidirá:
/users/café
etcétera. Sin embargo, tenga en cuenta que el uso de clases de caracteres como [a-zA-Z]
NO coincidirá con utf8.