假设我的域名是website123.com,我有一个my.website123.com的子域
我已经从站点中删除了“我的”子域,并希望确保任何使用 my.website123.com URL 访问任何页面的人都被重定向到主 www.website123.com URL。“我的”子域有很多页面,所以我需要确保无论用户在“我的”子域上访问哪个页面,他们都会被重定向到网站的主索引页面。
我想通过 .htaccess 来完成这个任务——这是最好的方法吗?如果是怎么办?
假设我的域名是website123.com,我有一个my.website123.com的子域
我已经从站点中删除了“我的”子域,并希望确保任何使用 my.website123.com URL 访问任何页面的人都被重定向到主 www.website123.com URL。“我的”子域有很多页面,所以我需要确保无论用户在“我的”子域上访问哪个页面,他们都会被重定向到网站的主索引页面。
我想通过 .htaccess 来完成这个任务——这是最好的方法吗?如果是怎么办?
如果您希望在此之后重定向所有页面和目录,这是正确的方法:
RewriteCond %{HTTP_HOST} nz.business2sell.com$
RewriteRule ^(.*) http://www.business2sell.co.nz/$1 [R=301,L]
例如,nz.business2sell.com/businesses/
或nz.business2sell.com/broker_directory/
两者都重定向到www.business2sell.co.nz/businesses/
或/broker_directory/
这样就不会留下更多页面
直接使用 Apache 配置总是优于 .htaccess。你可以访问吗?
您是否要将所有用户从以前的子域重定向到主域的索引页面,或者您是否希望逐页映射它们(例如 my.domain.com/contact/ 到 www.domain.com/contact )?
您可以做的一件事是转到 httpd.conf 文件并添加以下内容:
RewriteEngine On
RewriteCond %{HTTP_HOST} subdomain.domain.com
RewriteRule /(.*) http://www.domain.com [R=301,L]
这会将子域中的所有页面指向您的主域。
祝你好运!
@joeh0717
是的,对于 .htaccess 文件,将其修改为:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} subdomain.domain.com
RewriteRule /(.*) http://www.domain.com [R=301,L]
</IfModule>
请注意,此代码必须位于子域的根目录中。如果,正如您之前提到的,您已经删除了这个子域,您将需要重新建立它并将这个 .htaccess 文件放在根目录中。
这对我有用:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} deleted_subdomain.example.com$
RewriteRule ^(.*) https://example.com [R=301,L]
</IfModule>