我正在嵌入式设备上创建一个小应用程序,其上运行有boa个Web服务器。我正在创建一个混合使用纯HTML页面和Perl脚本的Web应用程序来与主应用程序进行交互。有没有办法隐藏某些页面是从设备上的cgi-bin提供的呢?
我现在拥有以下网址。
我更喜欢的是:
使用上述URL将我带到相应的index.html或index.pl文档。文件结构和服务器设置的某种组合是否会启用此行为?
我已经在谷歌上搜索了这个,但是你可以想象我在URL中获得了带有“cgi-bin”的搜索结果的页面和页面。我希望以前有人这样做过。
编辑:我应该提一下,我知道如何通过在我的网络根目录中创建单独的文件夹来为普通HTML页面执行此操作,所有文件夹都使用index.html页面。我的问题是让这种类型的解决方案与cgi-bin目录中的.pl或.cgi文件一起使用。
答案 0 :(得分:7)
在apache中,这对于mod_rewrite来说很简单,但是boa有点不同。你在这里遇到了几个不同的问题。对于.html文件,请确保boa.conf中包含以下行:
DirectoryIndex /index.html
然后在命中root时将检索任何名为index.html的文件。因此,如果您的根目录是/ htdocs,则makings /htdocs/index.html和/htdocs/info/index.html应该处理这些问题。
对于其他脚本,您需要添加以下行:
AddType application / x-httpd-cgi pl
这应该让perl在CGI执行时执行。然后是确保boa知道它们是索引文件的问题。您可以使用Redirect或Alias指令来克服其中一些。
答案 1 :(得分:7)
重定向,别名和ScriptAlias
重定向,别名和ScriptAlias全部 具有相同的语义 - 它们匹配 请求的开始和采取 适当的行动。使用重定向 其他服务器,Alias也一样 服务器和要启用的ScriptAlias 脚本执行的目录。
<强>重定向强>
允许您告诉客户您以前存在的文档 服务器的命名空间,但不是 了。这让你告诉了 客户在哪里寻找 重新安置的文件。
<强>别名强>
将一条路径别名化为另一条路径。当然,文件中的符号链接 系统工作也很好。
<强>的ScriptAlias 强>
将虚拟路径映射到用于提供脚本的目录。
基于此,您可以尝试ScriptAlias或Alias,甚至是符号链接到“更好”的URL。不幸的是,由于我没有在这里提供Boa,我无法测试选项,更具体地告诉您要尝试的内容。