使用.htaccess屏蔽子域

时间:2018-05-31 07:17:12

标签: apache .htaccess

我想使用.htaccess将我的子域名屏蔽到我的主域上的特定网址。

例如:https://sub.example.com显示https://www.example.com/page/12345的内容。 该网址仍为https://sub.example.com

我在.htaccess中有以下内容:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^sub\.example\.com
RewriteRule ^https://sub\.example\.com https://www\.example\.com/page/12345

但如果我转到https://sub.example.com,则会显示https://www.example.com的内容。似乎无法弄清楚什么是错的。请帮忙!

1 个答案:

答案 0 :(得分:1)

实际上,您想要在不重定向的情况下重写。这需要在Apache的httpd.conf中启用mod_proxy和mod_rewrite。

然后,重写应如下所示:

Options +FollowSymLinks -MultiViews 
RewriteEngine On
RewriteCond %{HTTP_HOST}  ^sub\.example\.com$ [NC]
#only when there is query string and https on, if needed
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{HTTPS} =on
RewriteRule ^$ https://www.example.com/page/12345? [R=301,NE,NC,L]

参考: