我有一个简单的重写规则,它可以在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

09-20 06:20