当前位置:  开发笔记 > 编程语言 > 正文

如何从我的网址中删除"cgi-bin"?

如何解决《如何从我的网址中删除"cgi-bin"?》经验,为你挑选了2个好方法。

我正在嵌入式设备上创建一个小应用程序,它上面运行着一个boa Web服务器.我正在创建一个混合使用纯HTML页面和Perl脚本的Web应用程序来与主应用程序进行交互.有没有办法隐藏一些页面是从设备上的cgi-bin提供的?

我现在拥有以下网址.

HTTP://localhost/home.html

HTTP://localhost/cgi-bin/config.pl

HTTP://localhost/cgi-bin/control.pl

HTTP://localhost/info.html

我更喜欢的是:

HTTP://本地主机/

HTTP://本地主机/配置/

HTTP://本地主机/控制/

HTTP://本地主机/信息/

使用上面的URL将我带到相应的index.html或index.pl文档.文件结构和服务器设置的某种组合是否会启用此行为?

我在谷歌搜索过这个,但是你可以想象我在URL中用"cgi-bin"获取搜索结果的页面和页面.我希望以前有人这样做过.

编辑:我应该提一下,我知道如何通过在我的Web根目录中创建单独的文件夹来为纯HTML页面执行此操作,所有文件夹都使用index.html页面.我的问题是让这种类型的解决方案与cgi-bin目录中的.pl或.cgi文件一起使用.



1> Pridkett..:

在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指令克服其中的一部分.



2> Jay..:

不幸的是,Boa似乎没有任何类型的mod_rewrite选项可供使用,所以你可以做的就是重写URL.从boa文档中可以找到您可以使用的选项:

重定向,别名和ScriptAlias

Redirect,Alias和ScriptAlias都具有相同的语义 - 它们匹配请求的开头并采取适当的操作.将Redirect用于其他服务器,将Alias用于同一服务器,使用ScriptAlias为目录执行脚本.

重定向

允许您告诉客户有关服务器命名空间中曾经存在的文档,但不再这样做了.这允许您告诉客户端在哪里查找重定位文档.

别号

别名一条路径到另一条路径.当然,文件系统中的符号链接也可以正常工作.

ScriptAlias指令

将虚拟路径映射到用于提供脚本的目录.

基于此,您可以尝试ScriptAlias或Alias,甚至是符号链接到"更好"的URL.不幸的是,由于我没有Boa可用,我无法测试选项,更具体地告诉你要尝试什么.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有