我目前正在使用以下.htaccess配置来强制执行HTTPS协议,并删除WWW前缀。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
但是,它不适用于子文件夹,例如。 www.abc.com/projectdirectory/index.html
有没有办法在整个网站结构中强制执行此规则?因此,如果用户手动输入到URL字段: www.abc.com/ projectdirectory /index.html 或 www.abc.com/projectdirectory/ < strong> projectx /index.html ,它将HTTPS协议添加到URL并删除WWW。
另外,有没有办法删除.HTML? 我之前使用过这个片段,它影响了对.JS,.PHP文件的识别。
RewriteCond %{REQUEST_URI} !\.[a-zA-Z0-9]{3,4}
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1.html
答案 0 :(得分:0)
要删除.html扩展程序,您需要一个.htaccess规则,如下所示:
temporary variable
使用上述规则而不是您在此处发布的规则。
您可以在 RewriteEngine On 之后添加 RewriteBase / ,这样 .htaccess 将如下所示:
RewriteRule ^([^\.]+)$ $1.html [NC,L]