如何为这个问题编写 htaccess 文件?

How to write htaccess file for this issue?

我有 CPanel,主网站存储在 Main-Site 文件夹中,这是我当前的 .htaccess 文件。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteCond %{REQUEST_URI} !Main-Site/
RewriteRule (.*) /Main-Site/ [L]



RewriteEngine On
RewriteCond %{HTTP_HOST} example\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/ [R,L]



ErrorDocument 206  /errors/206.html
ErrorDocument 301  /errors/301.html
ErrorDocument 302  /errors/302.html
ErrorDocument 400  /errors/400.html
ErrorDocument 401  /errors/401.html
ErrorDocument 403  /errors/403.html
ErrorDocument 404  /errors/404.html
ErrorDocument 408  /errors/408.html
ErrorDocument 500  /errors/500.html
ErrorDocument 501  /errors/501.html
ErrorDocument 503  /errors/503.html

但是这个 .htaccess 文件正在影响像 docs.example.com

这样的子域

当我尝试访问子域时,它会转到 404.html 如何解决这个问题?我也被迫重定向 https

刚刚找到问题的解决方案

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
RewriteCond %{REQUEST_URI} !^/Main-Site/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /Main-Site/  
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
RewriteRule ^(/)?$ Main-Site/ [L]

Options +SymLinksIfOwnerMatch


RewriteEngine On

# Apply these rules BEFORE rules in child .htaccess files
RewriteOptions InheritDownBefore

# HTTP to HTTPS redirect for all subdomains
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]



ErrorDocument 206  /errors/206.html
ErrorDocument 301  /errors/301.html
ErrorDocument 302  /errors/302.html
ErrorDocument 400  /errors/400.html
ErrorDocument 401  /errors/401.html
ErrorDocument 403  /errors/403.html
ErrorDocument 404  /errors/404.html
ErrorDocument 408  /errors/408.html
ErrorDocument 500  /errors/500.html
ErrorDocument 501  /errors/501.html
ErrorDocument 503  /errors/503.html