wordpress - 在特定页面目录上禁用 ssl

标签 wordpress .htaccess ssl

我的网站有小问题。我想在所有子页面上使用 SSL,没有路径 primary folder/generate In primary folder is installing wordpress.

Yui API 使用 http://协议(protocol),所以 SSL 阻止了我的脚本。我怎样才能做到这一点?

我在 .htaccess 中写了这条规则并将其粘贴到生成文件夹,但不起作用。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/generate
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} ^/generate
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

最佳答案

您可以通过在 .htaccess 文件中使用以下规则来做到这一点。

RewriteEngine On

RewriteCond %{HTTP:X-Forwarded-SSL} !on
RewriteCond %{REQUEST_URI} !^\/(generate)
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L,R=301]

RewriteCond %{HTTP:X-Forwarded-SSL} =on
RewriteCond %{REQUEST_URI} ^\/(generate)
RewriteRule (.*) http://%{HTTP_HOST}/$1 [L,R=301]

确保在测试之前清除缓存。

以上是做什么的?

它的作用是首先检查 HTTPs 是打开还是关闭。如果它关闭,那么它会将除目录 generate 之外的所有内容转发到 HTTP。如果 HTTPs 已经打开,那么第二条规则会检查以确保 generate 在 HTTP 上,如果没有,它将把 generate 重定向回 HTTP。

编辑:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/generate
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} ^/generate
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

关于wordpress - 在特定页面目录上禁用 ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45631336/

相关文章:

.htaccess - 使用 htaccess 删除 URL 末尾的单词

ssl - 调用 SSL_shutdown() 挂起,客户端仍处于 FIN_WAIT2 状态

linux - htaccess 专家 : Redirect all but root to one TLD, 将 root 重定向到另一个 TLD - WordPress

python - 使用 apache 和 mod_wsgi 提供静态文件而不更改 apache 的配置?

php - 显示 WooCommerce 自定义产品属性和单个产品的所有条款

php - Wordpress 可以用来创建与预先存在的 php 文件和数据库相关的网页吗?

ssl - 在反向代理 : Could not open Admin loginpage because mixed Content 后面使用 Keycloak

计算机重启后 IIS 丢失 HTTPS 端点证书

html - LI 在浏览器调整大小时移动不正确

php - 当 WP_DEBUG_LOG 设置为 true 时,debug.log 中没有显示调试输出,为什么?