到目前为止,我已经尝试了一个简单的页面,它使用id (domain.com/link/1234/)进行301php重定向。然后,我尝试了相同的php重定向(转发id)到一个使用id的php页面,使用JavaScript设置要重定向的uri (使用onload重定向)。
如果我点击这个链接,一切都很好。但是重定向收到来自附属公司的404。我该怎么做,有什么建议吗?
我想让我的所有链接都使用该帖子的id。
示例: domain.com/link/1234/
而不是关联链接: affiliate.com/sniper.php?s=g&7=8&g=0
编辑
所以如果我在头部使用这个JavaScript,它可以完美地重定向。
<script>
var url = "http://affiliate.com/sniper.php?s=g&7=8&g=0";
// IE8 and lower fix
if (navigator.userAgent.match(/MSIE\s(?!9.0)/))
{
var referLink = document.createElement("a");
referLink.href = url;
document.body.appendChild(referLink);
referLink.click();
}
// All other browsers
else { window.location.replace(url); }
</script>但是如果我将PHP添加到JavaScript中来动态添加URL。例如:
<script>
var url = "<?php echo $url_to_affiliate_website; ?>";
// IE8 and lower fix
if (navigator.userAgent.match(/MSIE\s(?!9.0)/))
{
var referLink = document.createElement("a");
referLink.href = url;
document.body.appendChild(referLink);
referLink.click();
}
// All other browsers
else { window.location.replace(url); }
</script>这失败了,我完全不知道为什么。PHP可以在此页面上,但不能在脚本标记之后。
有什么想法吗?
发布于 2014-07-20 14:58:08
如果您有重定向规则,将/link/{number}/重写为link.php?id={number}
<?php
//link.php
//Consider sanitize the input. (if it's number, use (int) casting for instance)
$linkid = $_GET['id'];
/*
Get the affiliate url based on the link ID.
If you're using DB or whatever.
*/
$url = get_affiliate_url($linkid);
header("Location: ".$url);
?>发布于 2014-07-31 17:38:31
这是你用过的代码吗?我想知道如何在js函数中使用php变量。
相反,您应该将php变量回显为php。
例如:
<script type="text/javascript">
var url = "<?php echo $url_to_affiliate_website; ?>";
// IE8 and lower fix
if (navigator.userAgent.match(/MSIE\s(?!9.0)/))
{
var referLink = document.createElement("a");
referLink.href = url;
document.body.appendChild(referLink);
referLink.click();
}
// All other browsers
else { window.location.replace(url); }
</script>我想这会对你有帮助,除非我误解了你的要求。
发布于 2014-07-31 18:07:03
这是您尝试在JavaScript中嵌入PHP变量的方法。您必须执行以下任一操作:
<?php
echo '<script type="text/javascript">
var url = "' . $url_to_affiliate_website . '";
...
</script>';
?>或者这样:
// jump to the verbatim mode, aka not interpreted by the PHP parser
?>
<script type="text/javascript">
var url = "<?php echo $url_to_affiliate_website; ?>";
</script>
<?php // continue rest of the PHP codehttps://stackoverflow.com/questions/24847913
复制相似问题