我在nginx中将不同的静态网站配置为虚拟主机。
每个网站都是多个.html文件(许多代码都是重复的)。
如何通过nginx配置一次向一个域的所有页面添加脚本/样式?这可能吗?
例如,我想在所有网页(内部)和google-site-verification中添加googletagmanager脚本,而不会触及这些文件。
答案 0 :(得分:1)
因此,我能想到的最简单的解决方案是将原始配置从端口80移至8080,将proxy_pass 80移至8080
server {
listen 80;
server_name xyz;
set $domain_script '
<script>alert("Added by nginx"); </script>
';
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
sub_filter '<head>' '<head>$domain_script';
}
}
server {
listen 8080;
# <!-- original config goes here-->
}
我进行了样本测试,对我来说工作得非常好
唯一假设是每个页面都有<head>
标记