欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Alias 和 ScriptAlias 之间有什么区别 有大用 有大大用


我需要明白为什么我做不到

ScriptAlias /scripts "/usr/local/scripts/wwwroot/cgi-bin/"

别名 /this "/scripts/myperl.pl?param=1"

并且有

http://www.example.com/this

工作时

http://www.example.com/scripts/myperl.pl?param=1

会好的

笨脚本

2006 年 5 月 5 日(格林威治标准时间 0) 

网站管理员世界高级会员 10年以上会员



Alias URL-path file-path¦directory-path
将 URL 映射到文件系统位置

ScriptAlias URL-path file-path¦directory-path
将 URL 映射到文件系统位置并将目标指定为 CGI 脚本

本质上,ScriptAlias 为该位置设置了别名,并通知 Apache 该目录中的文件是可执行的。

如果您尝试将目录中的文件设置为别名,并使其可执行,那么您将需要使用 ScriptAlias。

您可能在设置作为 ScriptAlias 的子级的别名时遇到问题,并且您只想设置两个具有完整路径的 ScriptAliases 来处理它:


ScriptAlias /scripts "/usr/local/scripts/wwwroot/cgi-bin/"

ScriptAlias /this "/usr/local/scripts/wwwroot/cgi-bin/myperl.pl?param=1"

甚至在任何其他目录中:


ScriptAlias /this "/usr/somestuff/myperl.pl?param=1"

这是你想知道的吗?

伊恩特纳

2006 年 5 月 6 日(格林威治标准时间 0) 

WebmasterWorld 管理员 10年以上会员 本月杰出贡献者



我尝试设置两个脚本别名,但它不适用于添加了参数的文件。

摩根大通

2006 年 5 月 6 日(格林威治标准时间 0) 

网站管理员世界高级会员 10年以上会员



Alias 指令语法表明它需要

吉姆

笨脚本

2006 年 5 月 8 日(格林威治标准时间 0) 

网站管理员世界高级会员 10年以上会员



是的......我似乎记得很久以前用参数进行试验并且被它们不起作用的感觉所困扰......但我想我懒得检查它。;)

除了 mod_rewrite 方法之外,简单地指向没有参数的脚本并使用参数作为脚本本身的默认值怎么样?(即 if!param { param=1 })这样它应该触发并给你如果传递了参数你会得到的相同结果,并且当一个参数实际上通过不同的调用传递时它应该覆盖默认值.. 。 也许?


ScriptAlias /this "/usr/local/scripts/wwwroot/cgi-bin/myperl.pl"

然后用不同的参数调用它:


http://yadda.com/this/?param=2

(仍然懒得检查它...... :( )



来自  https://www.webmasterworld.com/apache/6173.htm


一个文件路径作为第二个参数。因此,可能只是 Apache 无法将 URL 查询字符串识别为文件路径(的一部分)。

不过,您应该能够使用 mod_rewrite 进行内部服务器重写以完成同样的事情。

普通分类: