-2

5天前我问过一个类似的问题,但这一个更具体..我希望没关系...

有人在他们的网页上放置了指向我的网页论坛的链接,我想在单击该链接时重定向到另一个网页...

该链接可以出现在他们网站上的任何地方,为了这个问题,假设

http://www.otherwebpage.com/

或者 ir 可能是

http://www.otherwebpage.com/section1.php

或者

http://www.otherwebpage.com/links.html

链接是:

http://www.thelink.com/forum

所以,换句话说,当有人在他们的网页上点击http://www.thelink.com/forum我想重定向到,比方说,http://www.cnn.com

我已经设法在我的 .htaccess 文件上创建了一些可以工作的东西,但不是我希望它工作的那样......

RewriteCond %{HTTP_REFERER} ^http://www\.otherwebpage\.com/ [NC]
RewriteRule ^(.*) http://www\.cnn\.com [L]

有什么想法吗?

4

2 回答 2

0

假设您有一个网页论坛,而另一个网页的其他人指的是您的论坛,说这是官方论坛,而不是....我希望点击该链接的人被重定向到其他地方,但是同时,如果他们点击另一个不是论坛的链接也没关系......我只想重定向当有人点击另一个网站的论坛链接时,他正在使用我的论坛来宣传他的网页

您需要更改要匹配的 URI。正则表达式^(.*)匹配所有内容。

尝试:

RewriteCond %{HTTP_REFERER} ^http://www\.otherwebpage\.com/ [NC]
RewriteRule ^forum http://www\.cnn\.com [L]
于 2012-10-12T05:00:53.657 回答
0

.htaccess文件应该存在于旧域中,即,http://www.otherwebpage.com您需要将其添加到.htaccess那里:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.olddomain.com$
  RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]
</IfModule>

但在你的情况下,情况有所不同。您正在尝试跟踪我猜的链接。因此,由于您使用的是 PHP,因此您可以在输出内容之前这样做。

比如说,一个带有用户内容的变量:

$content = 'Hey, <a href="http://www.praveen-kumar.com/">this</a> is my web site!';

这个内容可以这样重写:

$content = preg_replace('\"/http\:\/\/(.*)\"', '"http://www.thelink.com/?link=$1"');

这将转化为:

Hey, <a href="http://www.thelink.com/?link=www.praveen-kumar.com/">this</a> is my web site!
于 2012-10-12T03:54:17.690 回答