我的Apache Ubuntu VM上有两个域:
www.domain01.com
www.domain02.com
我目前的情况:
www.domain01.com
从路径开放:/var/www/html/index.html
。www.domain02.com
从同一路径开放,但添加了目录/var/www/html/domain02/index.html
,我们应该编写域名。我需要做的是:
www.domain01.com
主目录/var/www/html/domain01/
。www.domain02.com
主目录/var/www/html/domain02/
。因此,当用户从中编写任何域时,它们会直接进入正确的路径,而不会在路径中显示任何子目录。
我发现人们在谈论.htaccess
文件但是当我搜索它时,我发现它什么都没有,它包含以下内容:
deny from all
AllowOverride None
注意:这个文件是故意破坏的,我们不希望任何人在子目录中撤消它!
我该怎么办?
答案 0 :(得分:2)
.htaccess
。将以下<VirtualHost>
块添加到您的apache配置(/etc/apache2/apache2.conf
)。
<VirtualHost *:80>
ServerName domain01.com
ServerAlias www.domain01.com
DocumentRoot /var/www/html/domain01/
</VirtualHost>
<VirtualHost *:80>
ServerName domain02.com
ServerAlias www.domain02.com
DocumentRoot /var/www/html/domain02/
</VirtualHost>
答案 1 :(得分:0)
您可以在DOCUMENT_ROOT/.htaccess
文件中使用此规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?domain01\.com$ [NC]
RewriteRule !^domain01/ /domain01%{REQUEST_URI} [L,NC]
然后/domain01/.htaccess
内有这条规则:
RewriteEngine On
RewriteBase /domain01/
RewriteCond %{THE_REQUEST} \s/+domain01/(\S*) [NC]
RewriteRule ^ /%1 [L,NE,R=302]