2012-10-21 32 views
0

在这里工作是htaccess的htaccess的重定向不能与某些浏览器

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NCL] 

的第一条规则检查,如果你有WWW,如果没有重定向到WWW + HTTPS,接下来的规则检查,看看客户端访问该网站通过https,一切正常,除了在歌剧,歌剧重定向到https://www.domain.com/https://domain.com/就像它把域+请求uri在{request_uri},我似乎无法使其工作。关于如何使这项工作正确的任何建议? 编辑: IE不工作too.It只是给服务器错误。

回答

1

重定向由Apache完成,因此Opera在此错误中无罪。我测试你的规则,并得到了一个错误:

RewriteRule: unknown flag 'NCL' 

试试这个:

RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L] 
+1

10X :),你是怎么测试的规则,我想知道如何调试的.htaccess – Nikola

+1

我有错误。在httpd-vhosts.conf中为域名启用日志:ErrorLog“d:/www/site/logs/error.log”,创建/记录dir,并且Apache将在那里为您写入错误。 Plz,如果它好,接受答案。 – user4035

+0

哇没有想到的那个.. 10x的提示;) – Nikola