我的网站有小问题。我想在所有子页面上使用 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/