Wordpress 301使用htaccess重定向博客页面和所有其他页面
我正在尝试将旧网站重定向到新网站。我把旧址分为两部分。博客文章和其他一切。我希望博客文章被重定向到他们在网站上的新位置,同时保持相同的URL(或多或少)。我想一切都重定向到新网站的主页 要求:Wordpress 301使用htaccess重定向博客页面和所有其他页面,wordpress,apache,.htaccess,redirect,Wordpress,Apache,.htaccess,Redirect,我正在尝试将旧网站重定向到新网站。我把旧址分为两部分。博客文章和其他一切。我希望博客文章被重定向到他们在网站上的新位置,同时保持相同的URL(或多或少)。我想一切都重定向到新网站的主页 要求: 所有博客文章都应该重定向到相同的URL(没有/blog部分),但在新域上 所有非博客页面应重定向到单个新页面 例如: oldsite.com/-->www.newsite.com www.oldsite.com/register-->www.newsite.com www.oldsite.com/pic
/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
- 我假设不同的物理服务器
在旧站点上.htaccess文件的顶部,尝试以下操作:
RewriteEngine On
RewriteRule ^(blog)(/.*)? http://$1.newsite.com$2 [R=302,L]
RewriteRule .* http://www.newsite.com/ [R=302,L]
这首先重定向“博客”URL,然后重定向其他所有内容。订单很重要
当您确定其工作正常时,将302
(临时)重定向更改为301
(永久)重定向。(浏览器不会缓存302重定向-以防出错。)
但是,如果您有帮助的话,我建议您不要将多个页面重定向到新站点上的单个主页。对于用户来说,这通常是一种糟糕的体验,谷歌可能会将其视为一种软404,并忽略它。我假设不同的物理服务器 在旧站点上.htaccess文件的顶部,尝试以下操作:
RewriteEngine On
RewriteRule ^(blog)(/.*)? http://$1.newsite.com$2 [R=302,L]
RewriteRule .* http://www.newsite.com/ [R=302,L]
这首先重定向“博客”URL,然后重定向其他所有内容。订单很重要
当您确定其工作正常时,将302
(临时)重定向更改为301
(永久)重定向。(浏览器不会缓存302重定向-以防出错。)
但是,如果您有帮助的话,我建议您不要将多个页面重定向到新站点上的单个主页。对于用户来说,这通常是一种糟糕的体验,谷歌可能会将其视为一种软件404,并忽略它。将以下代码放在@oldsite,main directory.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/directory.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
如果有一些blog/子目录/,请检查其中是否没有.htaccess,或者它们是否存在但没有任何内容,因此没有问题,但如果它们有一些规则,请确保它已调整为不影响/blog/目录。htaccess规则将以下代码放在@oldsite,main directory.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/directory.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
如果有一些blog/subdirectory/,请检查其中是否没有.htaccess,或者它们是否存在但没有任何内容,因此没有问题,但如果它们有一些规则,请确保它已调整为不影响/blog/directory.htaccess规则Yes。。旧站点和新站点位于两个独立的服务器上。。您是否建议将所有“其他”页面链接到新站点上的相应位置?如果是,持续多久?另外,由于顺序很重要,我会做一些类似于重定向302/contact的事情吗http://www.newsite/contact-us以上是您建议的规则?是的,您应该链接到新网站上的相应页面。。。尽可能长的时间(最好是永远,这取决于旧页面的链接程度)。如果您正在执行特定的重定向,那么是的,首先需要执行这些重定向。但是,您不能将mod_rewrite(
RewriteRule
)和mod_alias(Redirect
)重定向混合使用-不同的模块在不同的时间执行,因此可能会出现意外冲突<代码>重写规则^contact$http://www.newsite/contact-us [R=301,L]。感谢您的洞察力和帮助!把所有的东西都装上电线并开始工作:)是的。。旧站点和新站点位于两个独立的服务器上。。您是否建议将所有“其他”页面链接到新站点上的相应位置?如果是,持续多久?另外,由于顺序很重要,我会做一些类似于重定向302/contact的事情吗http://www.newsite/contact-us以上是您建议的规则?是的,您应该链接到新网站上的相应页面。。。尽可能长的时间(最好是永远,这取决于旧页面的链接程度)。如果您正在执行特定的重定向,那么是的,首先需要执行这些重定向。但是,您不能将mod_rewrite(RewriteRule
)和mod_alias(Redirect
)重定向混合使用-不同的模块在不同的时间执行,因此可能会出现意外冲突<代码>重写规则^contact$http://www.newsite/contact-us [R=301,L]。感谢您的洞察力和帮助!我可能对此有点含糊不清,但旧网站是一个wordpress网站。我不知道有一个博客
目录会包含一个.htaccess文件。好的,你只能访问主目录中的.htaccess吗?我可能对此有点含糊,但旧网站是wordpress网站。我不知道有一个blog
目录会包含.htaccess文件。好的,您是否只能访问主目录中的.htaccess?