0

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

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 函数可以用于此目的?请帮忙

4

1 回答 1

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=301a替换P

但是,这需要您加载 mod_proxy,但情况并非总是如此。如果该模块未加载,您不太可能收到错误(只是没有任何反应)。

于 2013-04-25T10:33:43.970 回答