编辑1

编辑1

我的网页动态执行以下请求:

http://example.com/f1/script?param1=1¶m2=2&...¶mn=n

我希望我的 nginx 服务器在被访问时加载一个名为script.js

因此我这样做了:

location ~^/f1/script?.* {
 rewrite ^/f1/script?.* /f1/script.js;
}

但浏览器却无法接收。

你知道如何让我的浏览器成功接收文件吗?

编辑1

我尝试执行以下操作:

location ~^/f1/ {
    try_files $uri $uri.js;
    rewrite ^(.*)$ $uri.js;
}

基于https://stackoverflow.com/questions/8970674/remove-php-file-extension-with-nginx-php-fpm#17475222但我的路上仍没有光亮

答案1

locationnginx 与或rewrite指令中的查询参数不匹配。

因此您需要使用:

location /f1/script {
    try_files $uri $uri.js;
}

这里的内容类型标头可能存在问题,即浏览器拒绝运行脚本,因为其内容类型无效。在这种情况下,需要找到一种方法来添加正确的内容类型标头。

更简单的方法是直接script.js在 URL 中使用。

相关内容