.htaccess 在主页上强制使用HTTPS,但在所有其他页面上强制使用HTTP
我试图通过.htaccess在我的主页上强制使用HTTPS,但在所有其他页面上强制使用HTTP。我尝试过许多其他的解决方案,但都没有成功 我的主页的格式应为: 其他页面应为:、等 我的尝试:.htaccess 在主页上强制使用HTTPS,但在所有其他页面上强制使用HTTP,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我试图通过.htaccess在我的主页上强制使用HTTPS,但在所有其他页面上强制使用HTTP。我尝试过许多其他的解决方案,但都没有成功 我的主页的格式应为: 其他页面应为:、等 我的尝试: RewriteEngine On #Disable HTTPS for all pages RewriteCond %{HTTPS} on RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] #Enable HTTPS
RewriteEngine On
#Disable HTTPS for all pages
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#Enable HTTPS for homepage
RewriteCond %{HTTPS} off
RewriteRule ^$ https://%{HTTP_HOST} [R=301,L]
有了这两个规则,页面就不会加载,我会得到一个重定向错误。当其中一条规则被注释掉时,页面会加载,但不会执行我想要的操作。任何帮助都将不胜感激 这样做:
RewriteEngine On
# Enable HTTPS for homepage
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{HTTPS} off
RewriteRule ^$ https://example.com/ [R=301,L]
# Disable HTTPS for all pages
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{HTTPS} on
RewriteRule . http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
测试前请确保清除浏览器缓存。请按以下方式进行:
RewriteEngine On
# Enable HTTPS for homepage
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{HTTPS} off
RewriteRule ^$ https://example.com/ [R=301,L]
# Disable HTTPS for all pages
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{HTTPS} on
RewriteRule . http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
在测试之前,请确保清除浏览器缓存。这似乎正常,但会导致我的网站上的登录表单无法正常工作,而且当它向url添加HTTPS时,浏览器会说证书无效,并且您的连接不是专用的。使用规则RewriteCond%{SERVER_PORT}80 RewriteRule^(.*)$[R=301,L]强制执行,证书加载为有效,但随后所有页面都加载为HTTPSok请在清除浏览器缓存后立即尝试我的更新规则。这似乎可以正常工作,但会导致我网站上的登录表单无法工作,当它向url添加HTTPS时,浏览器会说证书无效,并且您的连接不是私有的。使用规则RewriteCond%{SERVER_PORT}80 RewriteRule^(.*)$[R=301,L]强制执行,证书加载为有效,但所有页面都加载为HTTPSok请在清除浏览器缓存后立即尝试我的更新规则。