将一个特定页面重定向到另一个域
问题描述:
我最近在另一个域上创建了一个新站点。我需要将旧域的index.html
重定向到新域的索引。将一个特定页面重定向到另一个域
通常这不会成为问题,但旧域名是服务器的根域,新域名是附加域名。因此,以下行会导致重定向循环,因为它会将a.com/index.html
和b.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]
答
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,我认为你在寻找。
看起来很有前途,尽管我在添加符号链接时遇到了服务器错误。任何想法,为什么这可能是?感谢您一直以来的帮助。 – Olical 2011-06-13 22:08:45
你能解释一下你创建什么类型的符号链接吗?这是我们在* nix系统上的符号链接吗?当你在浏览器中看到服务器错误时,你也可以从error.log报告相关的错误。 – anubhava 2011-06-13 22:22:33
我的意思是在你的例子中的选项行。当包含跟随符号链接选项时,我的服务器就会死亡,没有有用的错误信息。没有它,没有任何反应。 – Olical 2011-06-13 22:35:28