将根目录(仅根目录)的URL重定向到另一个域名?

4
我想将我的域名example.com和www.example.com重定向到http://example2.com,但我希望所有访问http://example.com/sdfhs的文章都能继续访问它们的目标地址。
基本上,我只想重定向根域和www域,其余内容不受影响。
如何使用.htaccess实现这一点?
4个回答

5

不知道您是否仍然遇到这个问题,但我在我的一个域名上(Yourls安装)遇到了这个问题。 请尝试以下操作:

RewriteEngine On
RewriteRule ^$ http://www.example.com/ [R=301,L]

在我的安装上它能正常工作,但请在您的网站上进行检查。


0

启用 mod_rewrite 和 .htaccess,通过 httpd.conf,然后将以下代码放置在您的 .htaccess 文件中,位于 DOCUMENT_ROOT 目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond ${HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^$ http://example2.com [L,R=301]

0
您可以简单地匹配至少一个字符的任何URL (.+),并将其标记为重写引擎要查看的最后一条规则[L]。然后将其他任何内容(.*)重定向到新域(在此之前没有与该点匹配的唯一其他内容是根目录)。
RewriteEngine On
RewriteRule ^(.+)$ - [L]
RewriteRule ^(.*)$ http://example2.com/$1 [R=301,L]

这将会把所有域名重定向到example.com。我认为这并不是期望的结果。 - Jason McCreary

0

为什么不呢

RewriteEngine On
RewriteCond ${HTTP_HOST} example\.com|www\.example\.com
RewriteRule ^/?$ http://example2.com [L]

这将会把所有域名重定向到example.com。我认为这并不是期望的结果。 - Jason McCreary
@JasonMcCreary 抱歉,你是对的,我只考虑了他(虚拟)主机上的情况。我已经更新了一个针对http_host的测试,希望我的正则表达式是正确的。 - Mihnea Simian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接