求助:顶级域名强制 https,二级域名强制 http。

2015-01-05 23:57:42 +08:00
 xiaolvmu
目前,我的.htaccess 是这样写的:
</code># BEGIN SSL
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
FileETag none
</IfModule>
# END SSL


# GZIP BEGIN
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/css application/x-javascript
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 2 months"
</IfModule>
# GZIP END

# RULE BEGIN
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#RULE END

#BLOG BEGIN
RewriteCond %{HTTP_HOST} ^(www.)?xiaolvmu.techllage.com$
RewriteCond %{REQUEST_URI} !^/xiaolvmu/
RewriteRule ^(.*)$ /xiaolvmu/$1
RewriteCond %{HTTP_HOST} ^(www.)?xiaolvmu.techllage.com$
RewriteRule ^(/)?$ xiaolvmu/index.php [L]
#BLOG END<code>

现在,我想仅仅让 techllage.com 这个顶级域名进行 https 跳转。明明声明了 RewriteBase /,但是为什么二级域名还是会跳转 https 呢?
这该怎么办?
4259 次点击
所在节点    问与答
4 条回复
0x1e240
2015-01-06 07:07:10 +08:00
把rewrite规则放到htaccess里面,每个子域对应一个htaccess就可以了
Septembers
2015-01-06 18:12:13 +08:00
STS
xiaolvmu
2015-01-06 20:01:51 +08:00
@Septembers 额,这个是……什么?
xiaolvmu
2015-01-06 20:08:17 +08:00
只好各自使用各自的重写规则了。
# NEEDED BEGIN
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?techllage.com$
RewriteCond %{REQUEST_URI} !^/techllage/
RewriteRule ^(.*)$ techllage/$1
# NEEDED END




# GZIP BEGIN
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/css application/x-javascript
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 2 months"
</IfModule>
# GZIP END



#BLOG BEGIN
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?xiaolvmu.techllage.com$
RewriteCond %{REQUEST_URI} !^/xiaolvmu/
RewriteRule ^(.*)$ /xiaolvmu/$1
RewriteCond %{HTTP_HOST} ^(www.)?xiaolvmu.techllage.com$
RewriteRule ^(/)?$ xiaolvmu/index.php [L]
#BLOG END
</Directory>

<Directory "/var/www/html/techllage">

# BEGIN Techllage Sub
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /techllage
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /techllage/index.php [L]
RewriteCond %{HTTPS} !^on$ [NC]
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
FileETag none
</IfModule>
# END Techllage Sub

# ADD Techllage Sub
# RULE BEGIN
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#RULE END
# END ADD

因为根目录下面的htaccess同样适用于二级目录,因此似乎只有这样了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/159520

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX