我正在尝试将旧网站重定向到新网站。我将旧网站看作两部分。博客文章和其他一切。我希望将博客文章重定向到网站上的新位置,同时保持相同的URL(或多或少)。我希望其他所有内容都能重定向到新网站的主页。
要求:
/blog
部分)但在新域名示例:
oldsite.com/
- > www.newsite.com
www.oldsite.com/register
- > www.newsite.com
www.oldsite.com/pictures/cats
- > www.newsite.com
www.oldsite.com/blog
- > blog.newsite.com
www.oldsite.com/blog/cool-cats
- > blog.newsite.com/cool-cats
答案 0 :(得分:1)
我假设不同的物理服务器?
在旧网站上.htaccess文件的顶部,尝试以下操作:
RewriteEngine On
RewriteRule ^(blog)(/.*)? http://$1.newsite.com$2 [R=302,L]
RewriteRule .* http://www.newsite.com/ [R=302,L]
首先重定向“博客”网址,然后重定向其他所有内容。订单很重要。
如果您确定它正常工作,请将302
(临时)重定向更改为301
(永久)。 (如果出现错误,浏览器不会缓存302重定向。)
但是,如果您能提供帮助,我建议不要将多个页面重定向到新网站上的单个主页。对于用户而言,这通常是一种糟糕的体验,Google可能会将其视为软404并且无论如何都会忽略它。
答案 1 :(得分:1)
将以下代码@ oldsite,主目录,.htaccess文件:
RewriteEngine on
RewriteRule !^blog ($|/) http://www.newsite.com%{REQUEST_URI} [L,R=301]
# above line will redirect entire site to new site and exclude blog directory.
然后,将以下代码放在oldsite.com/blog/目录.htaccess文件中:
RewriteEngine On
RewriteRule ^(.*)$ http://www.blog.newsite.com/$1 [L,R=301]
# above line will redirect all requested url for oldsite.com/blog/ directory
# to blog.newsite/ with same extensions and if you remove $1 it will
# be redirected to index @ blog.newsite.com
如果有一些博客/子目录/,检查它们中是否没有.htaccess,或者它们是否存在但没有任何内容,所以没问题但是如果它们有一些规则,请确保它适应不影响/博客/目录.htaccess规则