将http网址重定向到https

时间:2015-07-18 02:45:20

标签: .htaccess redirect

有很多例子可以将所有http重定向到https

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteCond %{SERVER_PORT} !^443$ 

RewriteCond %{HTTPS}  off 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

但是,我想重定向那些来自网络浏览器的网址。由于在移动应用程序的API调用中使用了许多函数,因此我无法使用上述代码,因为它将所有URL重定向到https,API调用使移动应用程序崩溃。

如何修改上述代码,以便仅重定向来自网络浏览器的那些网址?

1 个答案:

答案 0 :(得分:0)

要再次检测网络浏览器移动浏览器,您需要检查HTTP_ACCEPT变量。

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_ACCEPT} !(text/vnd\.wap\.wml|application/vnd\.wap\.xhtml\+xml) [NC]
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTPS}  off 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]