我有一个简单的重写规则,它可以在http下正常工作:
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?如果我需要提供更多信息,请告诉我。
最佳答案
apache使用不同的vhost进行ssl配置:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.siku-siku\.com$
RewriteRule ^/work/all.html /portfolio/ [L,R=301]
...
</VirtualHost>
</IfModule>
这个链接有一个在debian上配置apache和ssl的例子,但是应该很容易推断到您所在的平台http://www.debian-administration.org/articles/349