0

我是 apache 服务器的管理员(在允许我托管多个域的托管包上),我有一个域public_html(我们称之为 www.ROOTwebsite.com)和其他 9 个域托管在一​​个文件夹中与 相同的目录级别public_html,称为DOMAINS.

所以结构是:

-DOMAINS/site1.com/
        /site2.com/ ... etc
-public_html

'/'在 wamp 中所有相对路径的开头使用site1.com(例如 /menu.php),它工作正常,但是当我上传到 DOMAINS/site1.com/ 时,它会弄乱网站,因为它显然正在查看public_html目录作为ROOT。

我在 .htaccess 文件中对以下内容使用了多种组合,但我无法确定将 ROOT 更改为位于public_html旁边的目录的正确语法,而不是像往常一样在它下面:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.ROOTwebsite.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^ROOTwebsite.gr$
RewriteCond %{REQUEST_URI} !DOMAINS/site1.com/
RewriteRule (.*) /DOMAINS/site1.com/$1 [L]

我希望更改根目录,site1.com以便它也适用于'/',而不会影响public_html网站。

任何人都可以看到上面代码的问题吗?

4

2 回答 2

0

您不能通过 .htaccess 重新定义文档根目录。您必须为可以具有单独文档根的域创建不同的虚拟主机。

于 2015-06-11T22:00:34.380 回答
0

我通过 .htaccess 重新定义文档根目录最接近的是以下内容(不完全是您要问的,因为在我的示例中,site1.com 是主文档根目录的子目录,但这将实现您想要的,与下面的警告)。

RewriteCond %{HTTP_HOST} ^site1.com$ [NC]
RewriteRule !^site1.com/ /site1.com%{REQUEST_URI} [L,NC]

这将有效地将所有 site1.com 重定向到 site1.com 子目录。[警告] 我唯一无法解决的问题是如何将直接转到子目录的 URL(例如http://site1.com/site1.com/index.html )重定向到http://site1.com/index。 html

于 2018-02-28T14:50:15.910 回答