【发布时间】:2014-02-12 16:22:12
【问题描述】:
我遇到了限制访问仅附加域的问题。我不希望能够通过主域访问这些文件。
我的主域由 hostmonster.com 托管,即 mydomain.co.uk。我有三个“插件”域:
addondomain1.com
addondomain2.com
addondomain3.com
他们可以通过访问来访问
addondomain1.mydomain.co.uk 或 mydomain.co.uk/domains/addondomain1
addondomain2.mydomain.co.uk 或 mydomain.co.uk/domains/addondomain2
addondomain3.mydomain.co.uk 或 mydomain.co.uk/domains/addondomain3
我为 addondomain1 添加了一个子域“dev”,可以通过访问访问
mydomain.co.uk/domains/addondomain1/dev 或 dev.addondomain1.mydomain.co.uk
如果有人能给我一些关于我的 .htaccess 应该是什么样子的指示,那就太好了。我假设我可能必须有两个 .htaccess 文件。一个在“addondomain1”目录中,一个在其中的“dev”目录中。
到目前为止我所拥有的:.htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?addondomain1.$ [OR]
RewriteCond %{HTTP_HOST} ^dev.addondomain1.mydomain.co.uk$ [OR]
RewriteCond %{HTTP_HOST} ^www.dev.addondomain1.com$
RewriteRule ^/?dev/(.*)$ http://dev.addondomain1.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^addondomain1.mydomain.co.uk$ [OR]
RewriteCond %{HTTP_HOST} ^www.addondomain1.mydomain.co.uk$ [OR]
RewriteCond %{HTTP_HOST} ^www.addondomain1.com$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ http://addondomain1.com/ [R=301,L]
Redirect 301 /domains/addondomain1 http://addondomain1.com
我目前在浏览器中收到一个错误,指出它无法加载页面,因为发生了太多重定向。它似乎陷入了一个循环。
我想要的结果是能够仅通过以下方式访问文件:
dev.addondomain1.com
【问题讨论】:
-
如果您正确设置了
VirtualHost并将dev.addondomain1.com的DocumentRoot设置为mydomain.co.uk/domains/addondomain1/dev,那么您不需要任何重写规则。 -
设置正确,但是,正如我的问题所述,您仍然可以通过主域访问这些文件。我不想要这个。
-
所以
dev.addondomain1.com工作正常,但您只想阻止从父域访问dev.addondomain1.com文件? -
是 :) 以及来自域本身,因为您也可以通过 addondomain1.com/dev 访问这些文件
标签: .htaccess redirect hostmonster