我正在尝试避免多次重定向。我当前的设置包括以下内容:
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^\/?(.*)$ https://www.example.com/$1[R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}[L,R=301]
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
我需要的是一个强制使用HTTPS,WWW并使用一个规则将斜杠添加到所有URL的规则。
以上内容迫使网址通过两次重定向运行。
我到处搜索,能够找到https / www的一条规则,并在一条规则中删除结尾的斜杠,但没有一条用于添加斜杠。
谢谢
答案 0 :(得分:0)
来自 https://simonecarletti.com / blog / 2016/08 / redirect-domain-http-https-www-apache / 答案似乎是:
RewriteEngine开启
RewriteCond%{HTTPS}已关闭[或]
RewriteCond%{HTTP_HOST}!^ www \。 [NC]
RewriteCond%{HTTP_HOST} ^(?: www \。)?(。+)$ [NC]
RewriteRule ^ https://www.%1% {REQUEST_URI} [L,NE,R = 301]
每个规则之前可以有多个条件。
或者只需将现有RewriteRules中的 [L]
标志更改为 [N]
,即可一次性处理所有规则。