Web applications 我如何删除“;cgi bin“;从我的网址?

Web applications 我如何删除“;cgi bin“;从我的网址?,web-applications,url-rewriting,cgi,cgi-bin,Web Applications,Url Rewriting,Cgi,Cgi Bin,我正在嵌入式设备上创建一个小型应用程序,该设备上运行一个web服务器。我正在用纯HTML页面和Perl脚本混合创建一个web应用程序,以与主应用程序接口。有没有办法隐藏这样一个事实,即一些页面是从设备上的cgi库中提供的 我现在有以下网址 我更喜欢的是: 上面的URL将我带到相应的index.html或index.pl文档。是否有一些文件结构和服务器设置的组合将启用此行为 我在谷歌上搜索过这个,但你可以想象,我得到了一页又一页的搜索结果,URL中有“cgi-bin”。我希

我正在嵌入式设备上创建一个小型应用程序,该设备上运行一个web服务器。我正在用纯HTML页面和Perl脚本混合创建一个web应用程序,以与主应用程序接口。有没有办法隐藏这样一个事实,即一些页面是从设备上的cgi库中提供的

我现在有以下网址

我更喜欢的是:

上面的URL将我带到相应的index.html或index.pl文档。是否有一些文件结构和服务器设置的组合将启用此行为

我在谷歌上搜索过这个,但你可以想象,我得到了一页又一页的搜索结果,URL中有“cgi-bin”。我希望这里有人以前做过


编辑:我应该提到,我知道如何通过在我的web根目录中创建单独的文件夹来实现普通HTML页面的编辑,所有这些文件夹都包含index.HTML页面。我的问题是让这种类型的解决方案与cgi-bin目录中的.pl或.cgi文件一起工作。

在apache中,使用mod_rewrite很简单,但boa有点不同。这里有几个不同的问题。对于.html文件,请确保在boa.conf中有以下行:

DirectoryIndex/index.html

然后,当命中根目录时,将检索名为index.html的任何文件。因此,如果您的根目录是/htdocs,那么makings/htdocs/index.html和/htdocs/info/index.html应该解决这些问题

对于其他脚本,需要添加以下行:

AddType应用程序/x-httpd-cgi pl


这应该让perl作为CGI执行,在任何地方都可以执行。然后就是要确保boa知道它们是索引文件。您可以使用重定向或别名指令来克服其中的一些问题。

不幸的是,Boa似乎没有任何类型的mod_重写选项可供使用,因此您只能重写URL。以下是您的可用选项:

重定向、别名和脚本别名

重定向、别名和脚本别名全部 语义相同——它们匹配 一个请求的开始并采取行动 适当的行动。将重定向用于 其他服务器,别名相同 服务器和要启用的脚本别名 用于脚本执行的目录

重定向

允许您告诉客户您的系统中曾经存在的文档 服务器的命名空间,但不允许 不再这允许您告诉 客户在哪里寻找 重新定位的文件

别名

将一条路径别名为另一条路径。当然,文件中的符号链接 系统工作也很好

脚本别名

将虚拟路径映射到为脚本提供服务的目录


基于此,您可以尝试使用ScriptAlias或Alias,甚至可以使用指向“更好”URL的符号链接。不幸的是,由于这里没有可用的Boa,我无法测试选项来告诉您更具体的尝试方法。

我应该在问题中写下,我知道如何对html文件执行此操作,抱歉。不过,你剩下的回答很有帮助。我仍然需要提示boa,.pl或.cgi文件可以是索引文件。它似乎只接受一个索引文件名:(