[英]With .htaccess, allow a specific set of Wordpress pages to be served over HTTPS://, and redirect all others back to HTTP://
我只希望通过https提供我的Wordpress网站上的一组特定页面。 所有其他页面应重定向回http://。
使用以下.htaccess重写规则,我可以成功地将不需要的https://请求重定向回http://,但是当我尝试访问允许的https://页面之一时,由于某种原因,它会重定向回到博客的首页。
https:// mywebsite.com/blog/random-page >>>> http:// mywebsite.com/blog/random-page/(良好)
https:// mywebsite.com/blog/ssl-page >>>> http:// mywebsite.com/blog/(糟糕,此URL根本不应重定向。)
我不确定发生了什么,我认为我的RewriteCond之间有冲突吗? 任何帮助,将不胜感激! 谢谢
我的.htaccess文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/blog/ssl-page/ [NC]
RewriteCond %{REQUEST_URI} !^/blog/another-ssl-page/$ [NC]
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
对于该特定示例,问题在这里:
RewriteCond %{REQUEST_URI} !^/blog/ssl-page/ [NC]
您声明/blog/ssl-page
重定向到HTTP。 这是因为您的第一个RewriteCond不匹配-它需要一个斜杠。
您可以尝试以下方法:
RewriteCond %{REQUEST_URI} !^/blog/ssl-page/?$ [NC]
使尾部斜杠为可选。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.