子域的 .htaccess 异常不起作用

.htaccess exception for subdomain not working

我想使用 .htaccess

将我网站的根目录重定向到子文件夹

应该是:

mysite.com -> 重定向到 mysite。com/2015
mysite.com/something -> 无重定向
sub.mysite.com -> 无重定向

目前发生的是 sub.mysite.com 也被重定向到 mysite.com/2015.

这是我当前的 .htaccess。已经为子域尝试了十几个例外,none 成功了。

RewriteEngine On
RewriteBase /

# Redirect WWW to non-WWW, vice versa
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/ [R=301,L]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/ [R=301,L]
  
# Some security rules
Options +FollowSymLinks -MultiViews
Options +Indexes
AcceptPathInfo Off

#Custom 404 Page
ErrorDocument 404 /404.php

# Video types for mobile
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm

# Invoice Redirect
RewriteRule ^b/(.*)$ ./modules/gateways/boletocefsinco/boleto_cef_sigcb.php?via= [L,NC]

# New Site Redirect
RewriteCond %{HTTP_HOST} ^(www.)?mysite.com$
RewriteCond %{REQUEST_URI} !^/2015/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /2015/
RewriteCond %{HTTP_HOST} ^(www.)?mysite.com$
RewriteRule ^(/)?$ 2015/index.php [L]

您应该清除浏览器缓存或在测试 .htaccess 规则时尝试不同的浏览器,因为这些内容会被缓存。

如果在测试时进行实际重定向,您也可以在重写规则中使用 [R=302,L],然后当您看到 302 有效时,您可以删除它。