cyberpanel设置重定向301跳转www域名详解
- 网站建设
- 2024-01-19
- 854热度
- 2评论
老白博客使用‘cyberpanel+openlitespeed’建站快一年了,很多功能都在慢慢摸索中,写了一些教程,大家可以点击文章标签阅读。今天这个教程来源于一位朋友的提问:非www域名强制转www域名,包括301/302跳转,http到https跳转,指定路径跳转等。
1.cp面板强制跳转https
要强制所有 Web 流量使用 HTTPS,可以在cp面板—网站——伪静态规则中插入以下代码行。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{REQUEST_URI} !^/[0-9]+..+.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
代码说明:
- 目的:将所有非HTTPS的请求强制重定向到HTTPS。
- 应用范围:适用于所有非HTTPS请求,不限于特定域名(www和不带www域名直接不会跳转)。
- 特殊排除:排除了与cPanel SSL验证和某些SSL证书颁发机构验证相关的特定URL模式。
- 重定向行为:保持原始请求的URI和主机名,只改变协议为HTTPS。保留了URL参数,比如http://xcbtmw.com/29762.html跳转后是https://xcbtmw.com/29762.html。
2.域名跳转www
仅重定向到某一个域名,比如不带www的重定向到www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
代码说明
- 目的:将通过HTTP访问
example.com
的请求重定向到https://www.example.com
。 - 应用范围:仅适用于访问
example.com
的HTTP请求。 - 特殊排除:同样排除了与cPanel SSL验证和某些SSL证书颁发机构验证相关的特定URL模式。
- 重定向行为:不仅改变协议为HTTPS,还将主机名从
example.com
改为www.example.com
。 - 保留了URL参数。
3.hsts连接
在使用上面的开启了https跳转后,可以进一步增强安全性,使用HTTP严格传输安全(HSTS)。
- 定义:HSTS是一种安全特性,它允许网站告诉浏览器仅通过安全的HTTPS连接与网站通信。
- 用途:HSTS的主要目的是增强安全性,防止中间人攻击,特别是SSL剥离攻击(SSL Stripping)。
- 工作方式:网站通过发送一个特殊的HTTP头(
Strict-Transport-Security
)来实现HSTS。当浏览器接收到这个头后,它会在一段时间内(由头中的max-age
参数指定)自动将所有对该网站的HTTP请求转换为HTTPS请求。
开启方法:https://www.xcbtmw.com/29567.html#h410
4.404页面跳转
将所有的404错误页面,重定向到专门的404.html的页面
教程:https://www.xcbtmw.com/29762.html
5.指定文件夹跳转
确保将文件夹引用更改为实际文件夹名称。然后,请务必将 www.example.com/folder 替换为想要强制启用 SSL 的实际域名和文件夹。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ https://www.example.com/folder/$1 [R=301,L]
代码参考自:https://www.inmotionhosting.com/support/website/ssl/how-to-force-https-using-the-htaccess-file/
6.伪静态规则大全
openlitespeed服务器对于WordPress是非常友好的,只有openlitespeed能够直接读取到.htaccess
文件,Nginx是不行的。伪静态规则非常强大,除了上述的跳转以外,还能实现直接缓存控制,不需要额外安装任何插件。
伪静态规则控制缓存:https://www.xcbtmw.com/29583.html
这规则为啥我改一次之后,过一段时间又恢复默认生成的了。是加在特定段落?
已经玩懂了,原来CY面板的规则是点一下 新增一次,不用手动添加