![htaccess-屏蔽并将域重定向到共享主机上的子目录](https://linux22.com/image/526790/htaccess-%E5%B1%8F%E8%94%BD%E5%B9%B6%E5%B0%86%E5%9F%9F%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E5%85%B1%E4%BA%AB%E4%B8%BB%E6%9C%BA%E4%B8%8A%E7%9A%84%E5%AD%90%E7%9B%AE%E5%BD%95.png)
希望有人能帮忙...服务器 nube 设置新的托管帐户
问题定义:
- 新的共享主机账户,想要在其上设置多个域名/网站
- 您必须指定一个“主域”,然后设置子目录以指向其他域
所需解决方案:
- 我并不真的想将我所有的其他网站都放在我主网站的根目录中,因此我想将我所有的网站(包括主网站)都放在单独的子目录中。
因此“www.maindomain.co.uk”实际上指向 www.maindomain.co.uk/sub_dir1/,但在用户地址栏中显示为“www.maindomain.co.uk”
我还希望所有对“www.maindomain.co.uk/sub_dir1/”的请求都显示为“www.maindomain.co.uk”
有人能建议如何做到这一点吗 - 也许通过 htaccess?
另外,我在谷歌上遇到了一个问题,将“myotherwebsite.com”显示为“www.maindomain.co.uk/myotherwebsite”,有没有办法防止这种情况发生。
如果我遗漏了一些明显的内容,请原谅我,因为我是一个服务器新手,在网站上找不到任何关于此问题的答案。
提前致谢。
史蒂夫
答案1
因此,基本上,您要确保当请求页面时,它是不是从路径访问maindomain.co.uk/<subfolder>
,对吗?
在每个托管自己网站的目录中放置一个如下所示的 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
# force SEPARATE_DOMAIN with www-prefix
RewriteCond %{HTTP_HOST} !^www\.SEPARATE_DOMAIN\.co\.uk$
RewriteRule .* http://www.SEPARATE_DOMAIN.co.uk$1 [R=301,QSA]
</IfModule>
SEPARATE_DOMAIN
用指向您正在使用的目录的域名替换,并且来自主域的对该目录的任何请求都将永久重定向到您指定的域。
例如:maindomain.co.uk/myotherdomain/index.php?query=string
将重定向至myotherdomain.co.uk/index.php?query=string