gpt4 book ai didi

apache - 让 Apache 动态修改静态网页

转载 作者:行者123 更新时间:2023-12-04 14:45:51 25 4
gpt4 key购买 nike

我一直在试验 woopra.com一个网络分析工具。这需要将一段 javascript 代码添加到每个页面才能运行。对于具有通用页眉或页脚的更多动态网站来说,这很容易,但对于完全静态的 html 页面而言则不然。

我试图通过使用 Apache 重写和 SSI 的组合来解决它,以使用所需代码“包装”静态 html。例如……

我对我的 apache 配置做了以下更改

    RewriteEngine On
RewriteCond %{REQUEST_URI} !=test.shtml
RewriteCond %{IS_SUBREQ} false
RewriteRule (.*)\.html test.shtml?$1.html

test.shtml 文件包含...

    <script type="text/javascript">
var XXXXid = 'xxxxxxx';
</script>
<script src="http://xxxx.woopra.com/xx/xxx.js"></script>

<!--#set var="page" value="$QUERY_STRING" -->
<!--#include virtual= $page -->

这个想法是一个请求进来

    /abc.html

将被重定向到

    /test.shtml?abc.html

然后 shtml 会将原始文件包含到响应页面中。

不幸的是,它并没有完全按计划工作:) 任何人都可以看到我做错了什么,或者建议一种替代方法。是否有任何 apache 模块可以做同样的事情。最好可以在每个站点的基础上进行配置。

谢谢

彼得

最佳答案

我认为 mod_filter_ext是您正在寻找的模块。您可以编写一个简短的 Perl 脚本,例如在页面中插入 JS 代码并注册它以处理 HTML 页面:

while (<>) {
s/<html>/\Q<script>....\E/;
print $_;
}

您甚至可以使用类似 sed 的工具来执行替换。

关于apache - 让 Apache 动态修改静态网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com