Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更改两个域的根目录_Php_Apache_.htaccess_Ubuntu_Dns - Fatal编程技术网

Php 更改两个域的根目录

Php 更改两个域的根目录,php,apache,.htaccess,ubuntu,dns,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,我们应该编写域 我需要的是做以下工作: deny from all AllowOverride None 制作www.dom

我的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
    ,我们应该编写域
我需要的是做以下工作:

deny from all
AllowOverride None
  • 制作
    www.domain01.com
    主目录
    /var/www/html/domain01/
  • 制作
    www.domain02.com
    主目录
    /var/www/html/domain02/
因此,当用户从中写入任何域时,他们会直接转到正确的路径,而不会在路径中出现任何子目录

我发现人们在谈论
.htaccess
文件,但当我搜索它时,发现它不包含任何内容,它包含以下内容:

deny from all
AllowOverride None
注意:此文件是故意破坏的,我们不希望任何人在子目录中撤消它


我能做什么?

您可以在
文档\u 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]

您的案例不需要
.htaccess
。在apache配置中添加以下
块(
/etc/apache2/apache2.conf


ServerName域名01.com
ServerAlias www.domain01.com
DocumentRoot/var/www/html/domain01/
ServerName域名02.com
ServerAlias www.domain02.com
DocumentRoot/var/www/html/domain02/

我的.htaccess文件只存在于domain01和domain02文件夹中,而不在DOCUMENT\u根文件夹中,DOCUMENT\u根文件夹在哪里?我找不到具有该名称的目录,这很好,您也需要根目录中的.htaccess(高于domain01文件夹的级别)您的意思是我将在根目录中创建.htaccess文件吗?并将另外两个域更新为2个域,以获得上述说明?仔细阅读我的答案,我已经非常清楚地写下了what.htaccess中需要的规则。请您再次区分条件和规则,让我们说,www.123.com将在/var/www/html/domain01/course/文件夹中打开,其中包含哪些文件条件因为使用相同的文件夹名和域名“domain01”很尴尬