【发布时间】:2013-10-21 19:59:01
【问题描述】:
我希望从旧域迁移到新域。
我的旧域 olddomain.com 和新域 newdomain.com 现在指向相同的 IP 地址。
我有 Apache 服务器来处理请求。
我怎么301 redirect我所有的
olddomain.com/*
&
www.olddomain.com/*
到
newdomain.com/*
我能否获得需要在htaccess 中添加的确切正则表达式或配置。
我的 newdomain.com 和 olddomain.com 都由来自同一个 IP 的同一个 apache 提供服务,所以“/”重定向可能会导致循环?所以一直在寻找有效的方法
我试过了
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^localhost$ [OR]
# RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule (.*)$ http://comp16/$1 [R=301,L]
</IfModule>
甚至尝试添加虚拟主机
RedirectMatch (.*)\.jpg$ http://comp17$1.jpg
但是当我在浏览器中点击 localhost 到我的计算机名称时它不会重定向站点,即 comp16
【问题讨论】:
-
问谷歌会比在这里添加问题更快。 ;-)
-
这会将新旧域的所有请求重定向到新域,但我只需要将旧域 url 重定向到新域。这不是与谷歌通常提出的问题不同的问题吗?
-
使用
mod_rewrite运行时,我建议您启用RewriteLog以查看实际发生的情况。
标签: apache .htaccess http-status-code-301