8
我有这个简单的重写规则,它正常工作下HTTP:重写规则对HTTP和HTTPS
RewriteCond %{HTTP_HOST} ^www\.siku-siku\.com$
RewriteRule ^/work/all.html /portfolio/ [L,R=301]
然而,该规则并没有考虑到效果,当我在HTTPS 。我修改了以下规则集,但无济于事。
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.siku-siku\.com$
RewriteRule ^/work/all.html /portfolio/ [L,R=301]
我怎样才能让这条规则对HTTP和HTTPS工作两者兼而有之?如果我需要提供更多信息,请告诉我。
是任何一个平台它是一个.htaccess还是一个虚拟主机?如果是虚拟主机,只需将重写规则放在一个单独的文件中,并在两个虚拟主机中获取它的源代码 – fge 2012-01-06 15:11:16
这是一个虚拟主机。 @fge:你的意思是这两个虚拟主机的非SSL和SSL?对不起,这可能听起来很基本,但我刚开始熟悉Apache mod-rewrite。 – moey 2012-01-06 15:25:36
那么,mod_rewrite指令就像其他任何指令一样,如果你把它们放在另一个文件中,并且从另一个文件包含这个文件,它就会这样做。所以是的,只要将规则写入另一个包含在SSL和非SSL vhost中的文件(在HTTPS上删除'RewriteCond')即可。 – fge 2012-01-06 15:28:08