我最近在不同的域上创建了一个新网站。我需要将旧域的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
)的法律。
答案 0 :(得分:1)
您可以尝试使用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]
答案 1 :(得分:0)
JAVASCRIPT REDIRECT:
在<head>
标记后面的旧网站上将其粘贴到页面顶部。
<script type="text/javascript">
window.location = "http://www.newsite.com/"
</script>
当然,您可以将“http://www.newsite.com/”替换为您希望页面重定向到的位置。
它应该立即重定向你。因此,访问旧网站页面的任何人都会立即重定向到newsite.com
PHP REDIRECT(301,永久移动):
<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.newsite.com/" );
?>
将其放在页面顶部。它不如javascript那么好,但它是SEO友好,我认为你正在寻找。