如何设置子域的所有页面以重定向到单个页面?

时间:2012-10-04 06:16:18

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

假设我的域名是 website123.com ,我的子域名为 my.website123.com

我已从网站中删除了“我的”子域名,并希望确保使用my.website123.com网址转到任何网页的任何人都被重定向到主www.website123.com网址。 “我的”子域有很多页面,因此我需要确保无论用户在“我的”子域上访问哪个页面,它们都会被重定向到站点的主索引页。

我想通过.htaccess实现这一目标 - 这是最好的方法吗?如果是的话怎么样?

5 个答案:

答案 0 :(得分:2)

如果您希望在此之后重定向所有页面和目录,这是正确的方法:

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/

这样就不会再留下任何页面了

答案 1 :(得分:1)

@ 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文件放在根目录中。

答案 2 :(得分:0)

直接使用Apache配置始终优先于.htaccess。你有权访问吗?

您是否希望将所有用户从以前的子域重定向到主域的索引页,或者您是否希望逐页映射它们(例如my.domain.com/contact/到www.domain。 COM /联系人)?

答案 3 :(得分:0)

您可以做的一件事是转到httpd.conf文件并添加:

RewriteEngine On
RewriteCond %{HTTP_HOST} subdomain.domain.com
RewriteRule /(.*) http://www.domain.com [R=301,L]

这将指向主域中子域的所有页面。

祝你好运!

答案 4 :(得分:0)

这对我有用:

<IfModule mod_rewrite.c>

    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} deleted_subdomain.example.com$
    RewriteRule ^(.*) https://example.com [R=301,L]

</IfModule>