htaccess:将过时的子域重写为www

时间:2016-08-11 11:34:09

标签: apache .htaccess mod-rewrite subdomain

我是编码和脚本编写的初学者。

我创建了一个曾经运行过的网站 preview.my-domain.com

现在我发现了一些显示此子域名的Google条目。哎呀!我该如何重写

preview.my-domain.com

www.my-domain.com

该网站位于网站上的同一文件夹中,所以确实

preview.my-domain.com/[everything here]

完全相同
www.my-domain.com/[everything here]

1 个答案:

答案 0 :(得分:1)

将子域重定向到规范域,请在文档根目录中的.htaccess文件中尝试以下(mod_rewrite指令):

RewriteEngine On
RewriteCond %{HTTP_HOST} =preview.example.com [NC]
RewriteRule ^ http://www.example.com%{REQUEST_URI} [R=302,L]

当您确定它正常工作时,将302(临时)重定向更改为301(永久)。浏览器会缓存301重定向,因此可能会导致测试出现问题。

CondPattern 上的=(等于)前缀使其成为字典字符串比较,测试相等性,而不是正则表达式(因此无需转义字面点或使用锚点)。

这显然仍然需要preview子域可解析(即在DNS中定义)。