Https 重定向工作错误

Posted

技术标签:

【中文标题】Https 重定向工作错误【英文标题】:Https redirection works wrong 【发布时间】:2021-07-06 20:46:13 【问题描述】:

我们的 Wordpress 网站上的 HTTP 链接存在问题,指向 HTTPS 页面的重定向规则无法打开正确的链接。 即:http://erasmusplus.dz/projets-cbhe/ 重定向到https://erasmusplus.dzprojets-cbhe/ 代替:https://erasmusplus.dz/projets-cbhe/(缺少“/”) 我只有 FTP 和 Wordpress 访问权限:

.htaccess 文件:

RewriteEngine On
RewriteCond %HTTPS !=on
RewriteRule ^(.*)$ https://%HTTP_HOST%REQUEST_URI [L,R=301,NE]
Header always set Content-Security-Policy "upgrade-insecure-requests;"

# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

感谢您的帮助。 :)

【问题讨论】:

【参考方案1】:

查看回复:Does %REQUEST_URI always begin with slash?

基本上.htaccess 文件的位置将决定前缀斜杠。尝试在重定向链接中显式添加斜杠,如下所示:

   RewriteRule ^(.*)$ https://%HTTP_HOST/%REQUEST_URI [L,R=301,NE]

【讨论】:

感谢您的帮助!我按照您的建议添加了斜线,但问题仍然存在! 你试过了吗:RewriteRule ^(.*)$ https://%HTTP_HOST/$1

以上是关于Https 重定向工作错误的主要内容,如果未能解决你的问题,请参考以下文章

Facebook:所有重定向 URI 都需要 HTTPS

如何阻止 Chrome 重定向到 HTTPS?

Nginx HTTP 未重定向到 HTTPS 400 错误请求“普通 HTTP 请求已发送到 HTTPS 端口”

从 SSL 上的裸域重定向失败

IIS 强制 https 重定向导致 503 错误

将单页 http 重定向到 https