我是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更改为 NEXT 到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
网站。
有人能看到上面代码的问题吗?
答案 0 :(得分:0)
您无法通过.htaccess重新定义文档根目录。您必须为域创建不同的vhost,然后可以具有单独的文档根。
答案 1 :(得分:0)
我最接近通过.htaccess重新定义文档根目录如下(不完全是你要问的,因为在我的例子中,site1.com是主文档根目录的子目录,但这会实现你的目标希望,下面的警告)。
RewriteCond %{HTTP_HOST} ^site1.com$ [NC]
RewriteRule !^site1.com/ /site1.com%{REQUEST_URI} [L,NC]
这将有效地将所有site1.com重定向到site1.com子目录。 [警告]我唯一无法解决的问题是如何将直接转到子目录的网址重定向,例如http://site1.com/site1.com/index.html到http://site1.com/index.html