【问题标题】:Redirect all pages to new domain将所有页面重定向到新域
【发布时间】:2013-02-28 00:55:44
【问题描述】:

我想通过重定向将我网站的所有页面重定向到一个新域。我已经设法让它在域级别上工作,但不是在子页面上。

所以 olddomain.com 会重定向到 newdomain.com,但 olddomain.com/contact 不会重定向到 newdomain.com。它仍然显示旧域。

我使用了多个重写规则,但它们似乎都不起作用。非常感谢任何帮助。

这是我现在在 .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


RewriteCond %{HTTP_HOST} ^racentegenkanker\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.racentegenkanker\.com$
RewriteRule ^(.*)$ "http\:\/\/againstcancer\.nl\/$1" [R=301,L]

【问题讨论】:

    标签: wordpress .htaccess url-rewriting


    【解决方案1】:

    对于完整的网站重定向,您可以使用这个(整个).htaccess :

    RewriteEngine On
    RewriteBase /
    RewriteRule ^(.*)$ http://againstcancer.nl/$1 [R=301,L]
    

    编辑

    对于两个并排运行的域,一个重定向另一个:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{HTTP_HOST} racentegenkanker\.com$ 
    RewriteRule ^(.*)$ http://againstcancer.nl/$1 [R=301,L]
    
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
    

    【讨论】:

    • 如果我使用该重定向,我会收到一条错误消息,告诉我重定向太多。即使删除了默认的 Wordpress 重定向。
    • 请检查此.htaccess 是否位于您的域中。事实上,如果您在新域上使用它,您将陷入无限循环。
    • 啊,我明白了,但是没有“旧”域。它们同时可用且处于活动状态。两个域都可用,但所有内容都应重写为 againstcancer.nl 域。
    • 我明白了,我编辑了我的答案,考虑到您使用的是 Wordpress。
    • 不客气,你已经很接近了。只要记住[L] 标签在规则匹配时停止.htaccess 读取。那么你必须小心你的规则顺序。
    猜你喜欢
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多