【发布时间】:2014-09-27 11:04:32
【问题描述】:
到目前为止,我已经尝试了一个简单的页面,该页面使用 id (domain.com/link/1234/) 进行 301 php 重定向。然后我尝试了相同的 php 重定向(转发 id)到一个 php 页面,使用 id 来设置 uri 使用 JavaScript 重定向(使用 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 可以在这个页面上,但不能在 script 标签之后。
有什么想法吗??
【问题讨论】:
-
navigator.userAgent.match(/MSIE\s(?!9.0)/)在 IE 10 及更高版本中也将返回 true。 -
能否请您粘贴由 PHP 生成的最终 HTML 代码?我怀疑您是在纯 HTML 文件上使用它,并且该文件没有被 PHP 解析。我想我们可以通过浏览器查看源代码,从您最终的 HTML 代码中找到问题。
-
您的说法不明确.. URL 是描述中所述的唯一 PHP。我从 mariaDB 复制并粘贴以确保 URL 相同,甚至使用 if 语句来确保 URL 从 DB 中打印相同。
-
在设置 url 变量后尝试添加
console.log(url);并检查您的控制台以查看 url 是否按预期传递
标签: javascript php redirect