mitago.net

Página web de Celso González

Problemas con el ScriptAlias de Apache

Solucionando problemillas en el servidor, primero he vuelto a tener un ataque de los dichosos spam referers, añadiendo nuevas cadenas al filtro para el awstats y haciendo un poco de limpieza en los logs ya generados he pasado el rato.

El siguiente problema era un poco más chungo y estaba referido a la configuración del apache. El programa de sudokus está metido en el directorio /sudoku dentro del document root de mitago.net

ScriptAlias /sudoku/ /var/www/mitago.net/sudoku/
Directory /var/www/mitago.net/sudoku
  Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Con esto funciona bien si introducimos la dirección http://mitago.net/sudoku/sudoku que es la habitual. El problema viene cuando queremos que al poner http://mitago.net/sudoku nos funcione igualmente. Al poner esto nos devuelve un error de Forbidden

La primera ocurrencia ha sido poner un DirectoryIndex sudoku, ya puedo anticiparos que no funciona, el error sigue apareciendo y si vemos los logs de error vemos que nos dice attempt to invoke directory as script:

Después de probar unas reglas de mod_rewrite y no encontrar la que tocaba, he conseguido solucionarlo con un hack que no me acaba de convencer pero de momento funciona.

ScriptAliasMatch ^/sudoku(.*) /var/www/mitago.net/sudoku/sudoku

En vez de ScriptAlias utilizo esta expresión regular que hace lo mismo, con un pequeño matiz, todo lo que contiene sudoku es interpretado como sudoku/sudoku. Asi consigo que: http://mitago.net/sudoku, http://mitago.net/sudoku/ y http://mitago.net/sudoku/sudoku funcionen correctamente.

El problema es que a) no puedo tener ningún otro script en ese directorio y b) http://mitago.net/sudoku/tralari también funcione. Realmente no se si esto es un bug o una feature :) pero no me acaba de convencer la solución. Seguiremos investigando.

sáb 14 enero 2006 23:241 comentarios