将一个特定页面重定向到另一个域

问题描述:

我最近在另一个域上创建了一个新站点。我需要将旧域的index.html重定向到新域的索引。将一个特定页面重定向到另一个域

通常这不会成为问题,但旧域名是服务器的根域,新域名是附加域名。因此,以下行会导致重定向循环,因为它会将a.com/index.htmlb.com/index.html重定向到b.com/index.html

Redirect 301 /index.html http://b.com/ 

有没有办法做这样的事情?

Redirect 301 http://a.com/index.html http://b.com/ 

TL; DR我怎么能在一个领域到另一个领域重定向index.html没有它级联并导致循环,因为其它域是在同一文件夹为此在法律上添加域(即相同的.htaccess)。

你可以尝试mod_rewrite的更多的灵活性,像这样的代码:

Options +FollowSymlinks -MultiViews 
RewriteEngine on 

# for HTTP 
RewriteCond %{HTTP_HOST} ^a\.com$ [NC] 
RewriteCond %{SERVER_PORT} =80 
RewriteRule ^(index\.html)$ http://b.com/$1 [R=301,L,NC] 

# for HTTPS 
RewriteCond %{HTTP_HOST} ^a\.com$ [NC] 
RewriteCond %{SERVER_PORT} =443 
RewriteRule ^(index\.html)$ https://b.com/$1 [R=301,L,NC] 
+0

看起来很有前途,尽管我在添加符号链接时遇到了服务器错误。任何想法,为什么这可能是?感谢您一直以来的帮助。 – Olical 2011-06-13 22:08:45

+0

你能解释一下你创建什么类型的符号链接吗?这是我们在* nix系统上的符号链接吗?当你在浏览器中看到服务器错误时,你也可以从error.log报告相关的错误。 – anubhava 2011-06-13 22:22:33

+0

我的意思是在你的例子中的选项行。当包含跟随符号链接选项时,我的服务器就会死亡,没有有用的错误信息。没有它,没有任何反应。 – Olical 2011-06-13 22:35:28

JavaScript重定向:在您的网页上只是<head>标签后,旧的网站上

粘贴此。

<script type="text/javascript"> 
window.location = "http://www.newsite.com/" 
</script> 

当然,您可以将“http://www.newsite.com/”替换为您希望页面重定向到的任何位置。

它应该立即重定向您。因此,任何人访问旧网站页面将立即重定向到newsite.com

PHP重定向(301永久移动):

<? 
Header("HTTP/1.1 301 Moved Permanently"); 
Header("Location: http://www.newsite.com/"); 
?> 

地方,在你的页面的顶部。它不如JavaScript的那么好,但它是SEO FRIENDLY,我认为你在寻找。

+0

是的,我相信这会工作,但我需要的是一个301重定向。 – Olical 2011-06-13 22:09:43

+0

我已更新我的答案,通过使用php设置标题包含搜索引擎友好的重定向方法。 – alt 2011-06-14 05:06:13

+0

记住它是一个答案? – alt 2011-06-20 02:44:00