我从我的主 .htaccess 文件中的另一篇文章中获取了此代码:
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^.*/sensors/.*$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
这会强制通过安全连接打开站点,但名为“sensors”的文件夹除外
我的问题是这里需要什么代码来强制网站始终以 www 开头打开。如何将此“www”规则应用于除名为“sensors”的文件夹之外的所有文件夹? 预先感谢您的帮助
您可以在现有的“HTTP 到 HTTPS”规则之前添加另一条规则,将非 www 重定向到 www(和 HTTPS),不包括“传感器”。例如:
# Redirect non-www to www (and HTTPS), excluding "/sensors/"
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule !(^|/)sensors/ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
:
RewriteCond %{REQUEST_URI} !^.*/sensors/.*$
请注意,此正则表达式 (
^.*/sensors/.*$
) 与简单的
/sensors/
相同,并且匹配 URL 路径中的“/sensors/”anywhere。但是这个条件可以移动到
RewriteRule
模式,就像我上面发布的规则一样。