HTAccess重写与WordPress规则和SSL冲突

时间:2012-08-09 作者:elleeott

这一条让我很困惑——我有下面的htaccess规则来将ssl重定向到非ssl页面。这很好,但我想从这个规则中排除某些wordpress请求-例如,https://mysite.com/info/. 我尝试了以下方法:

#rewrite all ssl pages to non-ssl for everything that doesn\'t have /info/ in the request uri 
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/info/
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]

#wordpress
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
结果是https://mysite.com/info/ 重定向到http://mysite.com/ 相反如果禁用wordpress重写规则,则前面的规则可以正常工作。有人能建议在重写条件下以漂亮的URL为目标的正确方法吗?

1 个回复
SO网友:jetlej

编辑现有代码以排除索引。php从如下重定向:

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/info/
RewriteCond %{REQUEST_URI} !^/index\\.php$
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]
有关说明,请在Stackoverflow查看此问题的答案: Issue with .htaccess redirecting all pages to HTTPS except one .

结束

相关推荐

如何使用.htaccess保护媒体目录?

我正在尝试使用保护上载目录。H访问。但当我浏览管理面板中的媒体部分时,我会看到用户/通行证弹出窗口<我的猜测是,WordPress使用fopen 查找文件是否存在。我发现mod\\u重写规则允许fopen 但我不知道如何将这些规则用于基本的HTTP身份验证。非常感谢您的帮助。以下是允许fopen的重写规则:RewriteEngine On RewriteBase / RewriteCond %{THE_REQUEST} ^.+$ [NC] RewriteRu