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

我有 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/$1 [L]




RewriteEngine On

RewriteCond %{HTTP_HOST} example\.com [NC]

RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ https://www.example.com/$1 [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


HUH函数
浏览 89回答 1
1回答

largeQ

刚刚找到问题的解决方案RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.)?example.com$ RewriteCond %{REQUEST_URI} !^/Main-Site/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /Main-Site/$1  RewriteCond %{HTTP_HOST} ^(www.)?example.com$ RewriteRule ^(/)?$ Main-Site/ [L]Options +SymLinksIfOwnerMatchRewriteEngine On# Apply these rules BEFORE rules in child .htaccess filesRewriteOptions InheritDownBefore# HTTP to HTTPS redirect for all subdomainsRewriteCond %{HTTPS} !=on [NC]RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]ErrorDocument 206  /errors/206.htmlErrorDocument 301  /errors/301.htmlErrorDocument 302  /errors/302.htmlErrorDocument 400  /errors/400.htmlErrorDocument 401  /errors/401.htmlErrorDocument 403  /errors/403.htmlErrorDocument 404  /errors/404.htmlErrorDocument 408  /errors/408.htmlErrorDocument 500  /errors/500.htmlErrorDocument 501  /errors/501.htmlErrorDocument 503  /errors/503.html
打开App,查看更多内容
随时随地看视频慕课网APP