如何使用 apache 提供脚本而不是运行它?
Posted
技术标签:
【中文标题】如何使用 apache 提供脚本而不是运行它?【英文标题】:How do I serve a script with apache instead of running it? 【发布时间】:2010-09-13 05:53:58 【问题描述】:我正在尝试使用 apache 网络服务器托管 python 脚本,但服务器尝试运行脚本而不是仅仅提供下载。
我没有直接访问服务器,添加行
AddType text/plain .py
根文件夹中的 .htaccess 似乎不起作用,尽管我可能做错了什么。
如何让服务器仅将文件作为文本发送而不是尝试运行它?
-编辑
更改名称不起作用。 Script.py.safe 在单击时仍然会给出 500 Server 错误。
我还应该提到 .htaccess 文件确实可以工作,但由于某种原因,一个 addType 行无法正常工作。要么是因为它没有覆盖某些东西,要么是行错误。
【问题讨论】:
【参考方案1】:在您的 .htaccess 中:
移除处理程序.py
【讨论】:
【参考方案2】:如果您无法更改 Apache 配置并且无法使用 htaccess 文件覆盖它,那么在我看来,最简单的解决方案是更改文件扩展名,或者编写一个打印的脚本目标脚本的内容。
两者在某种程度上都是 hack,但正确的解决方案是更改 Apache 配置。
【讨论】:
【参考方案3】:一种选择是更改扩展名并明确应将其重命名。即 python.py.safe 或 python.py.dl。然后用户需要删除多余的位。
你也可以把它拉起来。
【讨论】:
【参考方案4】:我会写一些东西来加载 python 脚本。这样你甚至可以变得精力充沛,并包括代码的格式和样式。你甚至可以用 python 编写它,因为你不会通过文件扩展名排除它。
【讨论】:
我希望更多的是 1 分钟解决方案而不是 1 天解决方案。 ;)【参考方案5】:<IfModule mime_module>
<Files *.py>
ForceType text/plain
</Files>
</IfModule>
在文件夹的 .htaccess 中应该可以工作 ;)
【讨论】:
以上是关于如何使用 apache 提供脚本而不是运行它?的主要内容,如果未能解决你的问题,请参考以下文章
如何以用户而不是 root 用户身份运行 cron 作业 [关闭]
最常见 IP 地址 bash 脚本的 Apache 访问日志
如何将 Node.js 设置为始终在服务器(如 Apache)上运行 [重复]
如何修改ESCrawlTopology以便它在本地而不是远程运行? 'NoNodeAvailableException'异常