我需要使服务器以这种方式工作:
检查请求的文件是否存在于本地。
我已经用nginx(使用404error handling程序)和PHP成功实现了这个行为。 事情是要在另一台服务器上实现这个,我必须安装/编译nginx和php。
我的问题是,如果有一种方法可以从堆栈中删除PHP,并把nginx(或其他服务器)来完成这项工作。 对我来说,一个理想的方法是如果我可以直接从服务器运行/调用bash脚本/命令。
有没有人能指出我正确的方向?
你想要做的事情可以用简单的“CGI”和一个shell脚本来完成。 您如何启用/实现CGI取决于服务器。 Nginx 应该可以,但是我知道Apache是。 请参阅文档或询问有关在给定Web服务器上启用CGI的具体问题。
简单的bash逻辑来testing一个文件是否存在并显示它:
#!/bin/bash FILE="/path/to/file" URI="http://example.com/file" /bin/echo "Content-type: text/plain" /bin/echo if [ -f $FILE ]; then /bin/cat $FILE else /usr/bin/wget $URI fi
您可以parsing$ {QUERY_STRING}以获取您的删除操作。 我将把完整的解决scheme和error handling作为练习留给你。 它有点棘手,超出了我们问答的范围。
请参阅: 在Bash CGI脚本中parsingQUERY_STRING