PHP 代码取决于服务器响应
PHP code depending on server response
我想根据我们服务器对特定页面的 HTTP 响应加载特定 Google 分析跟踪代码。如果页面正常(HTTP 响应为 200),代码应为:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', 'auto');
ga('set', 'forceSSL', true);
ga('require', 'displayfeatures');
ga('send','pageview');
</script>
但是如果 HTTP 响应是 404 或 410(未找到页面),我希望代码为:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', 'auto');
ga('set', 'forceSSL', true);
ga('require', 'displayfeatures');
ga('send','pageview','/404.html?page=' + document.location.pathname + document.location.search + '&from=' + document.referrer);
</script>
注意倒数第二行的区别。
此代码保存在我们的 header.php 文件中(我们使用的是 Wordpress),该文件适用于所有页面,包括 404 页面。为了让系统为 404 页面加载不同的代码,我是这样做的:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', 'auto');
ga('set', 'forceSSL', true);
ga('require', 'displayfeatures');
ga(
<?php
$HTTPStatus = $_SERVER["REDIRECT_STATUS"];
if ($HTTPStatus==404) ['send','pageview','/404.html?page=' + document.location.pathname + document.location.search + '&from=' + document.referrer];)
elseif ($HTTPStatus==410) ['send','pageview','/404.html?page=' + document.location.pathname + document.location.search + '&from=' + document.referrer];)
else ['send','pageview'];)
?>
</script>
我是这方面的新手,似乎不太了解。我究竟做错了什么?我把它放在 header.php 上(就在 </head>
之前)是否合适?任何反馈将不胜感激。
我认为这是个好主意。
按照以下步骤操作
1.Create 404 页面,喜欢 404.php
2.Create 新 header 喜欢,header-nofound.php,
3.In 你的 404.php,用 header 作为 <?php get_header('nofound'); ?>
4.In你的header-nofound.php,404的情况下可以放你要的ga码,
Thanks.this 可能对您有帮助
我想根据我们服务器对特定页面的 HTTP 响应加载特定 Google 分析跟踪代码。如果页面正常(HTTP 响应为 200),代码应为:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', 'auto');
ga('set', 'forceSSL', true);
ga('require', 'displayfeatures');
ga('send','pageview');
</script>
但是如果 HTTP 响应是 404 或 410(未找到页面),我希望代码为:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', 'auto');
ga('set', 'forceSSL', true);
ga('require', 'displayfeatures');
ga('send','pageview','/404.html?page=' + document.location.pathname + document.location.search + '&from=' + document.referrer);
</script>
注意倒数第二行的区别。
此代码保存在我们的 header.php 文件中(我们使用的是 Wordpress),该文件适用于所有页面,包括 404 页面。为了让系统为 404 页面加载不同的代码,我是这样做的:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', 'auto');
ga('set', 'forceSSL', true);
ga('require', 'displayfeatures');
ga(
<?php
$HTTPStatus = $_SERVER["REDIRECT_STATUS"];
if ($HTTPStatus==404) ['send','pageview','/404.html?page=' + document.location.pathname + document.location.search + '&from=' + document.referrer];)
elseif ($HTTPStatus==410) ['send','pageview','/404.html?page=' + document.location.pathname + document.location.search + '&from=' + document.referrer];)
else ['send','pageview'];)
?>
</script>
我是这方面的新手,似乎不太了解。我究竟做错了什么?我把它放在 header.php 上(就在 </head>
之前)是否合适?任何反馈将不胜感激。
我认为这是个好主意。
按照以下步骤操作
1.Create 404 页面,喜欢 404.php
2.Create 新 header 喜欢,header-nofound.php,
3.In 你的 404.php,用 header 作为 <?php get_header('nofound'); ?>
4.In你的header-nofound.php,404的情况下可以放你要的ga码,
Thanks.this 可能对您有帮助