我有以下代码:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^xyz xyz.php [PT]
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
第一个重定向将www.example.com/xyz
重定向到www.example.com/xyz.php
。
这工作正常。
第二个有问题。 如果我输入example.com
,它会创建一个无限循环来:
https://example.com/example.com/example.com
如果我输入www.example.com
,它还会创建一个类似于上面的无限循环。
我想重定向所有内容:
http://example.com/...
https://example.com/...
自https://www.example.com/...
我在这里错过了什么?
看起来我没有在重定向之前声明 RewriteCond %{SERVER_PORT} 80。