Pasar de URLRewriting.Net a mod_rewrite de apache y de iis

Alberto León <[email protected]>
Newsgroups gmane.comp.gnome.mono.hispano
Message-ID <[email protected]>
Hace unos meses trabajé un sitio web (asp.net) y necesitaba una herramienta
para reescritura de direcciones. Utilicé UrlRewriting.Net, que es de código
abierto, pero al cabo de un tiempo la cantidad de reglas creció mucho y tuve
muchos problemas con el consumo de recursos (un extra de 300kb por sesión.)

Tras mucho buscar y no encontrar nada que mejorara eso consulté varias
fuentes y finalmente un amigo me convenció para pasarme a mod_rewrite.

Las reglas de UrlRewriting eran numerosas así que pasarlas a mano para
mod_rewrite era bastante duro.

He hecho un pequeño programa en GTK#. Solo tienes que elegir el web.config y
apretar a transformar y ya pasa todas las reglas de UrlRewriting.Net al
formato de mod_rewrite.
He usado una cadena de Regex que me ha costado bastante y que os facilito.

Creo que el programa puede ser útil.
¿Dónde me sugeris colgar los fuentes para quien quiera aprovecharlo o
estudiarlo?



Un saludo.


P.D. Os dejo aquí el código por si os resulta útil. Recomendado por mi SEO
he cambio mis aspx por html en las reglas.

- - - - - - - -
Tengo creado un FileChooserButton (archivo) y un TextView (vistadeTexto) :p

- - - - - - - -

Regex rx = new
Regex("<add[\\s\\S]*?virtualUrl=\".*~(?<virtual>.*)\"[\\s\\S]*?rewriteUrlParameter=\"(?<rewrite>.*)\"[\\s\\S]*?destinationUrl=\".*~(?<destino>/.*)\"[\\s\\S]*?/>?",RegexOptions.Multiline
| RegexOptions.IgnoreCase);

        string busqueda;
        using (StreamReader sr = new StreamReader(archivo.Filename))
        {
            busqueda = sr.ReadToEnd();
        }

        if(busqueda!=null){
            MatchCollection matches = rx.Matches(busqueda);
            StringBuilder lista = new StringBuilder();
            lista.AppendLine("RewriteEngine On");
            string formato = "RewriteRule {0} {1}";
            foreach (Match match in matches)
            {

lista.AppendLine(String.Format(formato,match.Groups["virtual"].Value.Replace(".aspx",".html"),match.Groups["destino"]));

            }

            vistadeTexto.Buffer.Text = lista.ToString();
        }

_______________________________________________
Mono-hispano mailing list
[email protected]
https://listas.hispalinux.es/mailman/listinfo/mono-hispano
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.