Simple.htaccess问题(www到https给出错误)
我的.htaccess文件正是我所需要的。唯一的问题是,如果我尝试在我的网站上添加www,那么它会给我一个“警告:潜在的安全风险”错误 如果我在左列中键入内容,它将转到: 如果我键入以下任何URL,它们都会转到: 这是完美的。但当我将www添加到https时:Simple.htaccess问题(www到https给出错误),.htaccess,.htaccess,我的.htaccess文件正是我所需要的。唯一的问题是,如果我尝试在我的网站上添加www,那么它会给我一个“警告:潜在的安全风险”错误 如果我在左列中键入内容,它将转到: 如果我键入以下任何URL,它们都会转到: 这是完美的。但当我将www添加到https时: https://www.mywebsite.com/folder/index.html 我得到了安全问题,它不会删除www 有什么想法我可以添加或删除?以下是我当前的代码,它可以完美地满足我所需的所有其他功能: Options -Mul
https://www.mywebsite.com/folder/index.html
我得到了安全问题,它不会删除www
有什么想法我可以添加或删除?以下是我当前的代码,它可以完美地满足我所需的所有其他功能:
Options -MultiViews
RewriteEngine On
# HTTP to HTTPS canonical redirect
RewriteCond %{HTTP_HOST} mywebsite\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule (.*) https://mywebsite.com/$1 [R=301,L]
# Abort early if the request already maps to (or looks like) a file or directory
RewriteCond %{REQUEST_URI} \.\w{2,4}$ [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(products/view)/([^/]*)/?(.*) $1.php?id=$1&cat=$2&cat2=$3 [L]
RewriteRule ^(products)/([^/]*)/?(.*) $1/index.php?id=$2&cat=$3 [L]
# 3. Extensionless URLs for other requests
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule (.*) $1.php [L]
提前非常感谢 您的SSL证书对于
www.mywebsite.com
无效,因为您尚未随附证书一起颁发。这意味着您在颁发SSL证书时没有输入www.mywebsite.com
如何解决这个问题:
如果您使用的是像LetsEncrypt这样的服务,您可以在www.mydomain.com
中重新发布它
如果使用自签名证书: 如果您已经颁发了自签名证书,则必须重新颁发该证书,并包含主题替代名称 要发布包含主题备选名称的自签名证书,请执行以下操作:
req.conf
的文件,并将以下内容添加到其中:openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout cert.pem -out cert.pem -config req.conf -extensions 'v3_req'
并使用这些证书
顺便说一句,如果仍然不工作:
顺便说一句,改变:
# HTTP to HTTPS canonical redirect
RewriteCond %{HTTP_HOST} mywebsite\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule (.*) https://mywebsite.com/$1 [R=301,L]
致:
重定向所有非的内容听起来好像您的SSL证书只对
mywebsite.com
有效,但对www.mywebsite.com
无效-因此您当然会收到安全警告,如果您试图访问https://www.mywebsite.com
@CBroe我明白……但如果我试图转到“”,有没有办法强制删除www?只有在您获得一份包含主机名的证书时才能www.mywebsite.com
。否则,客户端浏览器将无法成功连接到https://www.mywebsite.com
首先,如果没有这一点,您也无法重定向到其他地方。Chi.C.J.Rajeeva Lochana,谢谢您的回复。第一部分我不能做,因为那太复杂了,我很抱歉:(我确实按照你的建议更改了htaccess文件,但没有任何区别。我是否可以通过仅在htaccess文件中应用一些更改来修复此问题?非常感谢!!!@Andrea如果不按照上面提到的步骤操作,就没有办法了。
openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout cert.pem -out cert.pem -config req.conf -extensions 'v3_req'
# HTTP to HTTPS canonical redirect
RewriteCond %{HTTP_HOST} mywebsite\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule (.*) https://mywebsite.com/$1 [R=301,L]
# HTTP to HTTPS canonical redirect
RewriteCond %{HTTP_HOST} !mywebsite\.com [NC,OR]
RewriteCond %{SERVER_PORT} 80
RewriteRule (.*) https://mywebsite.com/$1 [R=301,L]