Php 为什么在设置应用程序/液体内容类型标题时下载内容?

Php 为什么在设置应用程序/液体内容类型标题时下载内容?,php,download,header,shopify,Php,Download,Header,Shopify,我正在开发一个小型Shopify应用程序。我想加一个。这一切都很好-本地路径导致重定向到我的页面 但是,如果我设置内容类型:application/liquid标题,则该页面应作为本地Shopify页面加载 但当我这样做时,浏览器只是下载输出,而不是在Shopify主题的上下文中显示输出 你知道我做错了什么,或者是什么导致了这一切吗 从Shopify文档: 如果来自代理URL的HTTP响应具有内容类型: 应用程序/液体设置在其标题中,Shopify将评估和 在 使用商店的主题购物。如果使用正确的

我正在开发一个小型Shopify应用程序。我想加一个。这一切都很好-本地路径导致重定向到我的页面

但是,如果我设置
内容类型:application/liquid
标题,则该页面应作为本地Shopify页面加载

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

你知道我做错了什么,或者是什么导致了这一切吗

从Shopify文档:

如果来自代理URL的HTTP响应具有内容类型: 应用程序/液体设置在其标题中,Shopify将评估和 在 使用商店的主题购物。如果使用正确的方法,它可以 自动使你的应用程序看起来像是商店的一部分 没有任何人工干预

更新


它在一台服务器上运行正常,但在另一台服务器上继续下载。尝试比较标题,但迄今为止运气不佳。

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

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
当我将其更改为以下内容时,代理页面正确呈现:

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

另外请注意,如果您不是请求一个文件(ex:proxy.php),而是使用一个目录(ex:),那么对服务器的请求包含尾部斜杠(这意味着Shopify的代理请求)。htaccess文件发出301重定向,这迫使Shopify下载该文件,而不是将其解释为液体。要解决此问题,您可以添加另一个重写条件,将这些域排除在重定向到它们的“非尾随斜杠”对应域之外。

您是否仍遇到此问题?是的。它可以在三分之二的服务器上正常工作