如何在显示旧地址时重定向域?

时间:2013-04-25 10:26:57

标签: .htaccess redirect http-status-code-301 domain-name

我使用主机服务生成了一个.htaccess文件,从一个空的子域永久重定向到文件夹中的新子域页。

sejur-avion.old-domain.com - > subdomain.new-domain.com/agent/5049/sejur-avion

RewriteEngine on
RewriteCond %{HTTP_HOST} ^sejur\-avion\.old\-domain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.sejur\-avion\.old\-domain\.com$
RewriteRule ^(.*)$ "http\:\/\/subdomain\.new\-domain\.com\/agent\/5049\/sejur\-avion\/$1" [R=301,L]

我需要做的是隐藏地址栏中的“新域名”,如果可能,请显示旧域名。

所以我需要subdomain.new-domain.com/agent/5049/sejur-avion显示为subdomain.old-domain.com/agent/5049/sejur-avion

我听说有可以使用的ServerAlias功能吗? 请帮忙

1 个答案:

答案 0 :(得分:0)

您可以使用mod rewrite的P标志,该标志通过mod_proxy发送请求反向代理:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^sejur\-avion\.old\-domain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.sejur\-avion\.old\-domain\.com$
RewriteRule ^(.*)$ "http\:\/\/subdomain\.new\-domain\.com\/agent\/5049\/sejur\-avion\/$1" [P,L]

(基本上用R=301替换P

然而,这需要你加载mod_proxy,但情况并非总是如此。如果没有加载该模块,则不太可能出现错误(没有任何反应)。