[Python-es] [OT] Configurar rewriterules para moinmoin en webfaction

Luis Miguel Morillas morillas en gmail.com
Jue Ene 3 09:17:21 CET 2008


El 2/01/08, Chema Cortes <pych3m4 en gmail.com> escribió:
> El 2/01/08, Luis Miguel Morillas <morillas en gmail.com> escribió:
> > Recientemente compré una cuenta en webfaction (shared hosting plan),
> > que es uno de los proveedores que mejor soporte tiene de python. Entre
> > otras cosas he instalado un moinmoin para coordinar unos cuantos
> > proyecto, por cierto muy interesantes para los que estéis intersados
> > en python, wsgi y xml:  http://wiki.xml3k.org (nos hemos adelantado ya
> > al python3k :-P  )
> >
> >  Ahora quería limpiar la url como había hecho otras veces con
> > mod_rewrite y quitar ese molesto "/index.cgi/" de las urls del wiki.
> > Había utilizado la siguiente configuración en mi .htaccess fijándome
> > en la documentación de moinmoin [1][2]
> >
> > RewriteEngine on
> > RewriteRule ^/wiki/ - [last]
> > RewriteRule ^/robots.txt - [last]
> > RewriteRule ^/favicon.ico - [last]
> > RewriteRule ^/?(.*)  /home/lmorillas/webapps/wiki/index.cgi/$1
> > [last,type=application/x-httpd-cgi]
> >
> > Pero esto genera un bucle infinito: Request exceeded the limit of 10
> > internal redirects due to probable configuration error.
> >
> > He preguntado a los administradores de webfaction y el problema viene
> > de una regla que tienen en la configuración principal de apache:
> >
> >  RewriteEngine on
> >  RewriteRule ^($|/.*) /home/lmorillas/webapps/wiki$1 [L]
> >
> > y sugieren introducir mis reglas en la configuración principal de apache.
>
> No soy muy experto en el tema, pero se me ocurre que, tal vez, podría
> funcionar una condición RewriteCond para romper el bucle infinito,
> algo así:
>
> RewriteCond %{REQUEST_FILENAME} !/home/lmorillas/webapps/wiki/index.cgi/.*
> RewriteRule ^/?(.*)  /home/lmorillas/webapps/wiki/index.cgi/$1 [L]
>
>
> De todas formas, la regla general está añadiendo la ruta "base" a
> todo, con lo que es probable que esté añadiendo dos veces la ruta
> base. Debería ser algo así:
>
> RewriteCond %{REQUEST_FILENAME} !/home/lmorillas/webapps/wiki/index.cgi/.*
> RewriteRule ^/home/lmorillas/webapps/wiki/?(.*)
> /home/lmorillas/webapps/wiki/index.cgi/$1 [L]

Gracias chema. No tengo claro por qué, pero al final lo he resuelto así:

fichero .htaccess y cambio en fichero del cgi (en mi caso index.cgi):

 .htaccess:
Options +FollowSymLinks +ExecCGI
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ /index.cgi/$1 [QSA,L]

index.cgi:
request = RequestCGI(properties = {'script_name': '/'})


Estoy haciendo pruebas, pero creo que funciona ya correctamente en
http://wiki.xml3k.org .


Saludos,

--

Luis Miguel


Más información sobre la lista de distribución Python-es