子域的 .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 有效时,您可以删除它。
我想使用 .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 有效时,您可以删除它。