【问题标题】:Why is the content downloaded when I set the application/liquid content type header?为什么我设置应用程序/液体内容类型标题时会下载内容?
【发布时间】:2015-07-17 06:02:22
【问题描述】:

我正在构建一个小的 Shopify 应用。我想添加一个application proxy。一切正常 - 本地路径会导致重定向到我的页面。

但是,如果我设置 Content-Type: application/liquid 标头,则该页面应作为本地 Shopify 页面加载。

但是当我这样做时,浏览器只是下载输出而不是在 Shopify 主题的上下文中显示它。

任何想法我做错了什么或可能导致这种情况?

来自 Shopify 文档:

如果来自代理 URL 的 HTTP 响应具有 Content-Type: 在其标题中设置应用程序/液体,Shopify 将评估和 在请求体的上下文中呈现任何 Liquid 代码 商店使用商店的主题。如果使用得当,它可以 自动使您的应用看起来像是属于商店的一部分 无需任何人工干预。

更新

它似乎在一台服务器上运行良好,但在另一台服务器上继续下载。尝试比较标题到目前为止没有运气。

【问题讨论】:

  • 你还在遇到这个问题吗?
  • 是的。它在三分之二的服务器上运行良好

标签: php download header shopify


【解决方案1】:

我遇到了同样的问题。经过数小时的故障排除后,我发现是我的 .htaccess 文件中的指令导致了问题。这是之前的样子:

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

当我将其更改为以下时,代理页面正确呈现:

# Redirect Trailing Slashes...    
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/$ /$1 [L,R=301]

另请注意,如果您不是请求文件(例如:proxy.php),而是使用目录(例如:http://yourdomain.com/proxy),则对服务器的请求包含尾部斜杠(意味着 Shopify 的代理请求 @ 987654322@)。 htaccess 文件发出 301 重定向,这迫使 Shopify 下载文件,而不是将其解释为流动文件。要解决该问题,您可以添加另一个重写条件,以排除这些域被重定向到它们的“非尾随斜杠”对应项。

【讨论】:

    猜你喜欢
    • 2013-04-18
    • 2022-01-22
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 2018-02-14
    • 2018-08-05
    • 2020-05-25
    相关资源
    最近更新 更多