将所有Wordpress页面重定向到SSL除外

时间:2015-06-05 15:30:47

标签: wordpress .htaccess mod-rewrite ssl

我希望将Wordpress网站上的所有网页重定向到SSL除外。

我已经尝试了很多方法来实现这一点并成功地使SSL工作,但我无法让单页排除工作。

我假设问题在于Wordpress特定的重写。

<html ng-app='myApp'>
    <body ng-controller='TextController'>
    ....
    ....
    ....
    <script src="app/controllers/testCtrl.js"></script>
    <script src="app/controllers/test2Ctrl.js"></script>
    </body>
</html>

有什么建议吗?

1 个答案:

答案 0 :(得分:5)

您始终需要在内部重写的规则之前重定向为的规则。否则,内部资料(如/index.php)最终会被重定向。

尝试:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/parent-page/child-page/
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteCond %{REQUEST_URI} ^/parent-page/child-page/
RewriteCond %{HTTPS} on   
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


</IfModule>
# END WordPress

请注意,您还需要在/条件中添加%{REQUEST_URI}前导斜杠,这些斜杠始终以/开头。此外,您需要重定向到具有该URI的https,因此您需要在重定向到https时添加否定排除条件。