2017-02-13 38 views
0

访问一个网址我有.htaccess重写规则,我们的网站重定向到HTTPS的.htaccess允许或者通过HTTPS或HTTP

RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

我需要留下一个网址打开工作HTTP和HTTPS( http://www.myhost.com/apihttps://www.myhost.com/api)。如何做我需要修改我上面的代码如下规则

回答

1

尝试,

RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteCond %{REQUEST_URI} !^/support/registration_service 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

上述规则不包括URI /api被迫HTTPS,所以你可以使用www.myhost.com/api两个方案。

+0

我得到'内部服务器错误'与该附加规则 –

+0

它有一个错字,请尝试编辑! –

+0

好的,现在错误消失了,但它仍然自动重定向到HTTPS。我的实际URL实际上是'http:// www.myhost.com/support/registration_service'而不是'api'。也许这与这有关...我已经改变了'RewriteCond%{REQUEST_URI}!^ api'到'RewriteCond%{REQUEST_URI}!^ support/registration_service' –