更改两个域的根目录

时间:2015-01-26 08:23:42

标签: php apache .htaccess ubuntu dns

我的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

注意:这个文件是故意破坏的,我们不希望任何人在子目录中撤消它!

我该怎么办?

2 个答案:

答案 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]