tôi có viết lại quy tắc đơn giản này và nó hoạt động đúng theo http:Rewrite Rule để làm việc trên HTTP và HTTPS
RewriteCond %{HTTP_HOST} ^www\.siku-siku\.com$
RewriteRule ^/work/all.html /portfolio/ [L,R=301]
Tuy nhiên, các quy tắc không mất hiệu lực khi tôi đang trên https . Tôi đã sửa đổi quy tắc được đặt thành sau nhưng không có kết quả.
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.siku-siku\.com$
RewriteRule ^/work/all.html /portfolio/ [L,R=301]
Làm thế nào tôi có thể làm cho quy tắc đó để làm việc cả trên http và https? Vui lòng cho tôi biết nếu tôi cần cung cấp thêm thông tin.
Is nó là một .htaccess hoặc vhost? Nếu một vhost, chỉ cần đặt các quy tắc viết lại trong một tập tin riêng biệt và nguồn nó trong cả hai vhosts – fge
Đó là một vhost. @fge: Bạn có nghĩa là cả hai vhost cho non-ssl và ssl? Xin lỗi, điều đó nghe có vẻ thực sự cơ bản nhưng tôi mới bắt đầu làm quen với việc viết lại mod của Apache. – moey
Vâng, chỉ thị mod_rewrite giống như bất kỳ mục đích nào khác, nếu bạn đặt chúng trong một tệp khác và 'Bao gồm' tệp này từ tệp khác, nó sẽ làm điều đó. Vì vậy, có, chỉ cần viết các quy tắc trong một tập tin mà bạn bao gồm trong cả hai SSL và không SSL vhost (loại bỏ các 'RewriteCond' trên HTTPS). – fge