www serve page index images httpd deploy content web-applications url-rewriting cgi cgi-bin

web-applications - serve - deploy web page in apache



¿Cómo elimino "cgi-bin" de mis URL? (2)

Estoy creando una pequeña aplicación en un dispositivo integrado que tiene un servidor web Boa ejecutándose en él. Estoy creando una aplicación web en una mezcla de páginas HTML simples y scripts Perl para interactuar con la aplicación principal. ¿Hay alguna manera de ocultar el hecho de que algunas de las páginas están siendo servidas desde el cgi-bin en el dispositivo?

Lo que tengo ahora son las siguientes URL.

Lo que preferiría en gran medida sería:

con las URL anteriores que me llevan al documento index.html o index.pl apropiado. ¿Hay alguna combinación de estructura de archivos y configuración del servidor que permita este comportamiento?

He buscado esto en Google, pero como pueden imaginar, obtengo páginas y páginas de resultados de búsqueda con "cgi-bin" en la URL. Espero que alguien aquí haya hecho esto antes.

EDITAR: debería mencionar que sé cómo hacer esto para páginas HTML simples creando carpetas separadas en mi raíz web, todas con páginas index.html. Mi problema es conseguir que este tipo de solución funcione con archivos .pl o .cgi en el directorio cgi-bin.


Boa lamentablemente no parece tener ningún tipo de opciones mod_rewrite disponibles, por lo que está limitado en lo que puede hacer para volver a escribir una URL. De los boa docs aquí están las opciones que tienes disponibles:

Redirigir, Alias ​​y ScriptAlias

Redirect, Alias ​​y ScriptAlias ​​tienen la misma semántica: coinciden con el comienzo de una solicitud y toman las medidas adecuadas. Use Redirect para otros servidores, Alias ​​para el mismo servidor y ScriptAlias ​​para habilitar directorios para la ejecución de scripts.

Redirigir

le permite informar a los clientes sobre los documentos que solían existir en el espacio de nombres de su servidor, pero ya no. Esto le permite indicar a los clientes dónde buscar el documento reubicado.

Alias

alias un camino a otro. Por supuesto, los enlaces simbólicos en el sistema de archivos funcionan bien también.

ScriptAlias

mapea una ruta virtual a un directorio para servir scripts.

En función de eso, puede probar ScriptAlias ​​o Alias, o incluso un enlace simbólico a una URL "más agradable". Lamentablemente, dado que no tengo Boa disponible aquí, no puedo probar las opciones para decirle más específicamente qué probar.


En apache, esto sería simple con mod_rewrite, pero boa es un poco diferente. Aquí tienes un par de problemas diferentes. Para los archivos .html, asegúrese de tener la siguiente línea en boa.conf:

DirectoryIndex /index.html

Luego, cualquier archivo que se llame index.html se recuperará al llegar a la raíz. Entonces, si su directorio raíz es / htdocs, entonces makings /htdocs/index.html y /htdocs/info/index.html deberían encargarse de esos problemas.

Para sus otras secuencias de comandos, deberá agregar la siguiente línea:

AddType application / x-httpd-cgi pl

Eso debería permitir que Perl se ejecute ya que las CGI se ejecutan en todas partes. Entonces, es cuestión de asegurarse de que boa sepa que son los archivos de índice. Es posible que pueda superar algo de eso usando las directivas Redirect o Alias.