将主域移到子域文件夹并删除对其他文件夹的访问

时间:2018-11-22 18:15:12

标签: apache .htaccess mod-rewrite cpanel

我在尝试找到正确的.htaccess mod_rewrite命令来处理GoDaddy安装时遇到问题,该安装在其public_html文件夹的自己的文件夹中安装了多个Installatron应用。

为了说明-站点托管注册的主要域是acme.com,因此,在acme.com上提供任何内容的所有请求都将作为public_html文件夹的根。如果然后我托管一个附加域(比如helloworld.com),则该域位于public_html \ helloworld.com文件夹中的public_html文件夹中。

这意味着,如果我转到http:\\ acme.com \ helloworld.com \,则会从主域地址获得附加域内容。我想找到一个重写规则来防止这种行为,并且仍然可以正确使用附加域。

我已经看到了有关将主域移动到子文件夹的答案。所以现在文件结构是:

public_html\
public_html\acme.com\
public_html\helloworld.com\

下面的re_write规则在托管建议网站上似乎很流行,它成功地允许http:\\ acme.com正常工作,但不能阻止http:\\ acme.com \ helloworld.com \问题

# .htaccess main domain to subdirectory redirect 
# Do not change this line. 
RewriteEngine on 
# Change example.com to be your main domain. 
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
# Change 'subdirectory' to be the directory you will use for your main domain. 
RewriteCond %{REQUEST_URI} !^/subdirectory/ 
# Don't change the following two lines. 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# Change 'subdirectory' to be the directory you will use for your main domain. 
RewriteRule ^(.*)$ /subdirectory/$1 
# Change example.com to be your main domain again. 
# Change 'subdirectory' to be the directory you will use for your main domain 
# followed by / then the main file for your site, index.php, index.html, etc. 
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
RewriteRule ^(/)?$ subdirectory/index.html [L]

任何帮助将不胜感激,因为我仍然发现mod_rewrite规则实在是太过黑暗了!

谢谢大家

0 个答案:

没有答案