2012-04-25 66 views
0

这里有一个htaccess文件,可以确保www是对每一个进入现场:如何使用重写规则来处理HTTP和HTTPS访问

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^www\.mysite\.com$ [NC] 
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L] 

,直到该网站是为 访问这工作得很好“ HTTPS://mysite.com”, 因为它然后被改写为 ‘HTTP://mysite.com’

我怎么能返工这个htaccess文件的HTTP和HTTPS情况下工作?网站上的某些页面设计为HTTP,而其他网页仅设计用于HTTPS。我不是Mod_rewrite的专家,我一直在为此付出努力。任何帮助或建议将不胜感激。

回答

2

你的代码改成这样:

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTPS}s on(s)| 
RewriteCond %{HTTP_HOST} !^www\.mysite\.com$ [NC] 
RewriteRule^http%1://www.mysite.com%{REQUEST_URI} [R=301,L] 
+0

谢谢!这正是我所期待的。一些htacesss语法真的很神秘。我很感激。 – 2012-04-26 03:55:05

+0

不客气。请尽可能接受这个答案。 – anubhava 2012-04-26 06:21:35