首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何隐藏实际链接,而不警告代销商该链接来自重定向链接?

如何隐藏实际链接,而不警告代销商该链接来自重定向链接?
EN

Stack Overflow用户
提问于 2014-07-20 14:11:42
回答 5查看 920关注 0票数 0

到目前为止,我已经尝试了一个简单的页面,它使用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,它可以完美地重定向。

代码语言: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。例如:

代码语言:javascript
复制
<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可以在此页面上,但不能在脚本标记之后。

有什么想法吗?

EN

回答 5

Stack Overflow用户

发布于 2014-07-20 14:58:08

如果您有重定向规则,将/link/{number}/重写为link.php?id={number}

代码语言:javascript
复制
<?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);
?>

  • 没有测试过。
票数 0
EN

Stack Overflow用户

发布于 2014-07-31 17:38:31

这是你用过的代码吗?我想知道如何在js函数中使用php变量。

相反,您应该将php变量回显为php。

例如:

代码语言:javascript
复制
<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>

我想这会对你有帮助,除非我误解了你的要求。

票数 0
EN

Stack Overflow用户

发布于 2014-07-31 18:07:03

这是您尝试在JavaScript中嵌入PHP变量的方法。您必须执行以下任一操作:

代码语言:javascript
复制
<?php
echo '<script type="text/javascript">
    var url = "' . $url_to_affiliate_website . '";
    ...
    </script>';
?>

或者这样:

代码语言:javascript
复制
// 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 code
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24847913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档