首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排除某些页被重定向到https

排除某些页被重定向到https
EN

Stack Overflow用户
提问于 2015-06-15 15:54:47
回答 1查看 839关注 0票数 0

我在我的WordPress网站上使用以下规则:

  1. 将所有http页面重定向到https。
  2. 将“职业”页面重定向到http RewriteEngine on # Go to https (如果不是在职业上) %{SERVER_PORT} 80 RewriteCond %{REQUEST_URI}!^/职业$ NC RewriteRule ^(.*)$ https://www.mywebsite.com/$1 R,L#转到http如果您在职业上RewriteCond %{SERVER_PORT} !80 RewriteCond %{REQUEST_URI} ^/职业$ NC RewriteRule ^(.*)$ http://www.mywebsite.com/$1 R,L

https重定向工作正常;但是,职业页面不会重定向到http。知道为什么吗?

以下是我在wp-config.php中的内容

代码语言:javascript
复制
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);
define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-15 16:04:30

尝试使用THE_REQUEST而不是REQUEST_URI

代码语言:javascript
复制
<IfModule mod_rewrite.c>
RewriteEngine On
# Go to https if not on careers
RewriteCond %{SERVER_PORT} =80 
RewriteCond %{THE_REQUEST} !/careers/[\s?] [NC]
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R,L]

# Go to http if you are on careers
RewriteCond %{SERVER_PORT} !=80 
RewriteCond %{THE_REQUEST} /careers/[\s?] [NC]
RewriteRule ^(.*)$ http://www.mywebsite.com/$1 [R,L]
</IfModule>

THE_REQUEST变量表示Apache从浏览器接收到的原始请求,并且在执行某些重写规则后不会被覆盖。这个变量的示例值是GET /index.php?id=123 HTTP/1.1

确保这些规则置于WP默认规则之上。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30849643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档