欢迎各位兄弟 发布技术文章
这里的技术是共享的
ScriptAlias /scripts "/usr/local/scripts/wwwroot/cgi-bin/"
别名 /this "/scripts/myperl.pl?param=1"
并且有
工作时
http://www.example.com/scripts/myperl.pl?param=1
会好的
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"
这是你想知道的吗?
吉姆
除了 mod_rewrite 方法之外,简单地指向没有参数的脚本并使用参数作为脚本本身的默认值怎么样?(即 if!param { param=1 })这样它应该触发并给你如果传递了参数你会得到的相同结果,并且当一个参数实际上通过不同的调用传递时它应该覆盖默认值.. 。 也许?
ScriptAlias /this "/usr/local/scripts/wwwroot/cgi-bin/myperl.pl"
然后用不同的参数调用它:
http://yadda.com/this/?param=2
(仍然懒得检查它...... :( )
不过,您应该能够使用 mod_rewrite 进行内部服务器重写以完成同样的事情。