我可以对包含的外部 javascript 文件使用 301 重定向吗?

Posted

技术标签:

【中文标题】我可以对包含的外部 javascript 文件使用 301 重定向吗?【英文标题】:Can I use a 301 redirect for included external javascript files? 【发布时间】:2011-09-16 21:20:18 【问题描述】:

我正在尝试清理网站上的一些文件,其中一项任务是将所有对 jquery 的引用整理到单个文件中。

是的,它是一个拥有多个开发人员的大型网站,并且某些标准尚未遵循,导致目前的情况是引用了各种版本的 jquery。

我尝试做的是为这些文件创建一个 301 重定向以指向单个版本。

例如:<script type="text/javascript" src="/someurl/js/jquery-1.4.4.min.js"> 应该最终指向 /someurl/js/jquery-core.min.js

我尝试过这样做,但似乎无法加载新文件并且 jquery 不存在,我的网络面板显示原始文件上有一个 301,我可以看到对新文件的引用,但是“响应”选项卡为空。

这样可以使用301重定向吗?

感谢您的任何建议/反馈

p.s 我知道有更好的方法来引用 jquery 等,但是大公司的流程和繁文缛节阻碍了我以任何其他方式这样做

【问题讨论】:

Will JavaScript tag's src attribute follow HTTP redirects in all browsers 和 ***.com/questions/6456095/… 的可能重复 【参考方案1】:

当浏览器从 src 属性加载脚本时,它应该遵循所有重定向链接,以相同的方法检索 html、图像、样式表等。所以您提供的用例应该 工作。

但由于它不适合您,您有几个选项可以解决您的问题。

使用fiddler 或类似的调试代理来查看您的浏览器和服务器之间发生了什么。也许 301 格式错误,或者 mime 类型配置错误,可能是任何数量的东西。解决问题的方法与解决浏览器未遵循重定向的任何其他问题相同。

或者...而不是使用重定向,您可以使用mod_rewrite(或类似的服务器端 URL 重写工具)将特定脚本版本的请求修改为您的规范版本。

【讨论】:

以上是关于我可以对包含的外部 javascript 文件使用 301 重定向吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何为加载已关闭的外部 javascript 文件设置超时

JavaScript Javascript包含带外部文件的菜单

在 expressjs 中提供带有响应对象的 HTML 文件时,如何包含外部 JavaScript 文件?

包含外部文件的Javascript包含菜单

Web 制作:外部 JS 文件中的绝对 URL?

Javascript:动态生成的函数,指的是带有GPT渲染的外部包含的JS文件