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