首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hgweb原始视图返回错误的内容类型。

hgweb原始视图返回错误的内容类型。
EN

Stack Overflow用户
提问于 2012-05-01 15:41:58
回答 1查看 276关注 0票数 0

背景:我正在使用https://bitbucket.org/mariocesar/django-hgwebproxy/wiki/Home向我正在构建的Django站点添加一个Mercurial浏览器。

我遇到的问题是:我们存储在hgweb中的特定文件是绑定区域文件,它恰好被命名为/some/path/somedomain.com,这导致hgweb在返回文件的原始视图时将内容类型设置为application/x-msdos-program (当内容实际上是text/plain)。不正确的内容类型导致hgwebproxy将内容转储到页面模板中,而不是仅仅返回它。它通过这样的测试来跳过模板:

代码语言:javascript
复制
if response['content-type'].split(';')[0] in ('application/octet-stream', 'text/plain'):
    return response

当然,一些可实现的解决方案是

  1. 将所有文件重命名为.zone (Lame和耗时)
  2. hgwebproxy通过application/x-msdos-program (蹩脚和肮脏)
  3. 说服hgweb使用正确的内容类型(太棒了!我希望你能帮忙)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-01 19:29:47

hgweb使用mimetype来检测文件的mime类型。您可以通过添加设置文件来覆盖".com“后缀检测。请参阅:mimetypes.knownfiles

代码语言:javascript
复制
>>> import mimetypes
>>> mimetypes.init()
>>> mimetypes.knownfiles
['/etc/mime.types', '/etc/httpd/mime.types', '/etc/httpd/conf/mime.types', '/etc/apache/mime.types', '/etc/apache2/mime.types', '/usr/local/etc/httpd/conf/mime.types', '/usr/local/lib/netscape/mime.types', '/usr/local/etc/httpd/conf/mime.types', '/usr/local/etc/mime.types']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10400164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档