App Proxy下载文件而不是呈现液体

时间:2019-05-21 12:53:00

标签: php laravel laravel-5 shopify liquid

我正在构建一个嵌入式应用程序,并试图获取“应用程序代理”选项以使一个液体页面正常工作。我已经在应用程序中正确设置了代理,并且文件返回了Content-Type: application/liquid标头,但是当我访问测试存储中的页面时,它只是下载了文件。

我正在使用this repository中的 laravel-shopify 我在shopify中正确设置了应用程序代理,但问题是总是下载代理文件

我将项目托管在 Digital Ocean Server

任何想法,非常感谢!

这是laravel中public/.htaccess文件的原始内容:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
      Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

1 个答案:

答案 0 :(得分:0)

您是在执行XHR GET而不是在Shopify中点击应用代理吗?

要返回Liquid时,可以在代理处启动GET。例如,

https://mememe.myshopify.com/tools/fizbuzz or 
https://mememe.myshopify.com/community/altogether

如果您要对端点进行XHR调用,那么很明显,即使您返回液体,也要返回数据,在这种情况下,浏览器会告诉您“嘿,我不知道,所以我将为您启动下载”。

尝试将端点作为浏览器请求,然后看看会发生什么。