.htaccess 错误,包含多个重写规则

.htaccess 错误,包含多个重写规则

我的 .htaccess 文件有点问题。我最近为我的网站获得了 SSL 证书,https:// 运行正常。但是,我想将使用 http:// 的任何流量重定向到新的 https://,但这似乎与我之前的规则有冲突。

这是我的.htaccess 文件:

# 404 Document Location
ErrorDocument 404 /404.html
# Turning Redirects On
RewriteEngine On
# Redirection from HTTP to HTTPS
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
# Redirection for filenames ending in .html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

基本上,第一个重定向应该是将人们从 http:// 移动到 https://,第二个重定向是我以前必须从域末尾截断文件类型(例如 /cv.html 只是 /cv)。

有人能看到这个冲突并告诉我如何解决吗?

谢谢!

答案1

尝试这个

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

我认为您可能必须将该规则称为最后一条,然后在下次访问 https 时添加后缀。

相关内容