重写 public_html 文档根目录到根目录下的文件夹
Rewrite public_html document root to a folder in root directory
所以我有 2 个站点,只需将它们命名为 example.com
和 admin.example.com
。
example.com
在我的 cPanel 中列出,文档根目录为 /home/username/public_html(不可更改),但实际文件存储在 home/username/example-site.
admin.example.com
与文档根 home/username/public_html/admin. 一起列出
目录结构:
home/username
|- example-site
|...
|- public_html
|- admin
这两个网站是用不同的框架构建的。现在,如果没有合适的 .htaccess 文件,当我尝试访问 example.com
时,它会显示 public_html 文件夹中的文件列表,并且 admin.example.com
工作正常。
因此,我正在尝试将 example.com
的文档根目录从 /home/username/public_html 移动到 /home/username/example-site 带有 .htaccess 文件,但我似乎找不到适合我需要的合适格式。有什么想法吗?
我建议您将文件夹“example-site”移动到文件夹“public_html”(您可能还想重命名它):
home/username
|...
|- public_html
|- example-site
|- admin
然后您实施一个重写规则,将所有 未 将管理子域指定为 http 主机的请求映射到该文件夹中:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^admin\.example\.com$
RewriteCond %{REQUEST_URI} !^/example-site/
RewriteRule ^ /example-site%{REQUEST_URI} [L]
作为替代方案,您还可以实施积极条件:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteCond %{REQUEST_URI} !^/example-site/
RewriteRule ^ /example-site%{REQUEST_URI} [L]
所以我有 2 个站点,只需将它们命名为 example.com
和 admin.example.com
。
example.com
在我的 cPanel 中列出,文档根目录为 /home/username/public_html(不可更改),但实际文件存储在 home/username/example-site.admin.example.com
与文档根 home/username/public_html/admin. 一起列出
目录结构:
home/username
|- example-site
|...
|- public_html
|- admin
这两个网站是用不同的框架构建的。现在,如果没有合适的 .htaccess 文件,当我尝试访问 example.com
时,它会显示 public_html 文件夹中的文件列表,并且 admin.example.com
工作正常。
因此,我正在尝试将 example.com
的文档根目录从 /home/username/public_html 移动到 /home/username/example-site 带有 .htaccess 文件,但我似乎找不到适合我需要的合适格式。有什么想法吗?
我建议您将文件夹“example-site”移动到文件夹“public_html”(您可能还想重命名它):
home/username
|...
|- public_html
|- example-site
|- admin
然后您实施一个重写规则,将所有 未 将管理子域指定为 http 主机的请求映射到该文件夹中:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^admin\.example\.com$
RewriteCond %{REQUEST_URI} !^/example-site/
RewriteRule ^ /example-site%{REQUEST_URI} [L]
作为替代方案,您还可以实施积极条件:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteCond %{REQUEST_URI} !^/example-site/
RewriteRule ^ /example-site%{REQUEST_URI} [L]