1

我已经安装了 mod_pagespeed,我正在尝试弄清楚这是否可行。

示例网址:

<script src="/assets/build/js/test.js"></script>

上面的 URL 被重写为:

<script src="/assets/build/js/test.js.pagespeed.jm.QCz72nUS30.js"></script>

我想做的是将 URL 重写到网站的基础或我指定的文件夹。例如,我希望重写后的 URL 如下所示:

<script src="/test.js.pagespeed.jm.QCz72nUS30.js"></script>

或者是这样的:

<script src="/sample-folder/test.js.pagespeed.jm.QCz72nUS30.js"></script>

这是可以用 mod_pagespeed 配置的吗?我想对所有图像、javascript 和 CSS 文件执行此操作。提前感谢您提供的任何帮助!

4

2 回答 2

1

不,这对于 mod_pagespeed 是不可能的。以下是您可用的唯一 URL 重写控制选项:

https://developers.google.com/speed/pagespeed/module/restricting_urls

您可以使用 Apache 的 mod_rewrite 重写 URL。但是,这样做时请注意以下限制:

https://code.google.com/p/modpagespeed/issues/detail?id=676

于 2014-11-03T10:48:30.813 回答
0

这是不可能的,因为至少如上所述它不起作用。假设在您的网站上有两个不同的文件,称为test.js

/assets/build/js/test.js
/testing/test.js

想象一下,您可以告诉 PageSpeed 将所有内容放在您的网络服务器根目录中:

/test.js.pagespeed.jm.QCz72nUS30.js
/test.js.pagespeed.jm.8U69T_7wiB.js

只要这些资源保留在 PageSpeed 的缓存中,这将起作用:它可以使用 url 的哈希部分来查看其缓存并找到用户想要的资源。但是当缓存变满并且某些东西被驱逐时会发生什么?然后对其中一个请求发出请求,它不在缓存中,并且 PageSpeed 没有足够的信息来重建原始 url,因此它可以重新生成它。PageSpeed 必须对请求进行 404 处理,这会破坏页面。

于 2014-12-11T22:20:26.357 回答