繁体   English   中英

.htaccess重定向到https和www。 如果启用

[英].htaccess redirect to https and www. if enabled

我想以一种可以执行以下两项操作的方式配置.htaccess文件:

  • 务必确保www. 被附加(即使对于子域名也是如此: www.sub.example.com )。
  • 可选地添加https://如果已启用)。

我最好(如果可能)希望按照一个重写规则来执行此操作,目前我有:

RewriteEngine On

RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

那么,如何让shttps://可选在同一重写?

您可以使用以下规则通过一次重定向将httpsnon-httpsnon-www请求重定向到www

RewriteEngine on


RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s on(s)|offs()
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R]

这是在执行302临时重定向。 如果要使用301永久重定向,请将R标志更改为R=301

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM