使用DNS指向时,目标域上的htaccess 301重定向出现问题



我在www newdomain com 上开发了一个新的WordPress网站

(对不起,在域名中使用破折号而不是点,因为如果没有10分的信誉评分,我不能在这里发布超过2个链接。(

www olddomain com上的旧网站过早地通过DNS(@A记录,www记录(重定向到www newdomain com。因此,我无法访问宿主容器来在www olddomain com to 301上创建htaccess文件,从而将所有旧页面重定向到它们的新位置。我在www newdomain com下也有一个www olddomain com的停放域设置-这不是一个理想的情况,但我被卡住了:-(

两个域的url页面名称也完全不同。WordPress还将网址www newdomain com存储在数据库中,并基本上对其进行硬编码。

Wordpress htaccess

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

问题:在上面的场景中,我如何在newdomain上的htaccess中创建301重定向?

如果我使用以下内容:

Redirect 301 /blog http://www.newdomain.com/articles

然后它开始工作,但之后我一点击www newdomain.com上的任何工作链接,我就会收到一个500内部服务器错误。

如果我使用以下内容:

Redirect 301 /blog /articles

然后它也可以工作,但它在地址栏中显示以下内容:olddomain com/articles而不是www newdomain.com/articles

我也有很多这样的:www olddomain com/blog/?cat=136如果我使用:

Redirect 301 /blog/ /articles

则它加载新域404页面,并且地址栏显示:http://olddomain-com/articles/?cat=136

我对这件事一无所知,除了最基本的东西之外,我对htaccess没有任何经验。任何建议都将不胜感激,谢谢!

首先,您需要确保将wordpress域配置更新为www-newdomain-com(转到/wp-admin/options-general.php进行更改(,否则它将重写到olddomain-com的每个链接,并扰乱您的.htaccess规则。

这就是为什么现在一切都指向olddomain-com

最新更新