子域的 RewriteRule 到子文件夹 .htaccess

RewriteRule for subdomain to subfolder .htaccess

我正在努力完成以下任务:

  1. 非 http 强制转换为 https - 有效
  2. www 强制转换为非 www - works
  3. 从子文件夹 (/web) 加载的网站 - works
  4. test.example.com 加载不同的子文件夹 (/test) - 不起作用

4、不行,条件满足去/web。无法理解如何将其更改为 /test

我使用的.htaccess代码:

RewriteEngine On
RewriteCond %{HTTPS} !=on

RewriteCond %{HTTP_HOST} ^test.example.com$
RewriteRule ^(.*)$ /test/ [L,NC,QSA]

RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ https://example.com/ [L,R=301]

RewriteCond %{HTTP_HOST} ^example.com$ [NC,OR]
RewriteRule ^(.*)$ /example/web/ [L,NC,QSA]

使用您显示的示例,请在此处尝试遵循 htaccess 规则文件。请确保在测试您的 URL 之前清除您的浏览器缓存。如果您有更多规则(除了显示的规则),请确保这些规则在这些规则之前。

RewriteEngine On
##Apply https to uris here..
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

##Apply non-www to uris here..
RewriteCond %{HTTP_HOST} ^(?:www\.)(example\.com)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R=301]

##Apply test to all uris here..
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/test [NC]
RewriteRule ^(.*)/?$ example/web/ [L,NC,QSA]

##Apply test to all uris here..
RewriteCond %{HTTP_HOST} ^test\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/test [NC]
RewriteRule ^(.*)/?$ www.example.com/test/ [L,NC,QSA]