通过子域重定向

时间:2019-01-23 17:19:33

标签: javascript php mod-rewrite url-rewriting url-redirection

是否可以通过子域重定向被屏蔽或未被屏蔽的外部链接? (“无外部链接”插件会屏蔽链接;被屏蔽和未屏蔽的链接不会在页面上同时显示)

请参见下面的示例,我要重定向 如果链接被屏蔽(已启用插件):

example.com/go/externalexample.com/newstitle/ (links showing internal with MozBar)

rd.example.com/go/externalexample.com/newstitle/ (links showing external with MozBar)

如果未屏蔽链接(已禁用插件):

externalexample.com/newstitle/ (external link on homepage, links showing external with MozBar)

rd.externalexample.com/newstitle/ (links showing external with MozBar)

谢谢

2 个答案:

答案 0 :(得分:1)

我不认为您可以“抓住”某人离开该网站(然后进行更改),(AFAIK)。

但是使用javascript(Jquery),您可以更改网站上的所有链接

您可以将具有<a>属性的所有链接href更改为:

$('a').each(function(){
    var url = $(this).attr('href');
    var url = url.split("://").join('://rd.');
    $(this).attr('href', url);
});

此代码会将url上的://拆分并放在://rd.的位置 (我之所以选择://是因为您可能在URL的其他任何地方都没有该名称,并且它也适用于非http链接)

答案 1 :(得分:0)

对不起。我很着急,应该更具体一些。

我知道在PHP中重定向网址的唯一方法是通过this post中提到的标头函数。

这将允许您设置一个页面“ foo.php”,该页面可以设置为虚拟重定向页面:

<?php
$url = $_GET["url"];

// Do stuff...

// Later...
header("Location: http:://$url", true, 301);

然后使HREF实际上指向foo?url = my_URL。

但是,如果您不习惯使用PHP,则可以尝试研究.htaccessmod_rewrite,它们可能更强大,并且可以按照您的实际意愿进行操作。 / p>