我正在遇到一些.htaccess重定向问题。
主要是我不关心用户是否使用https,除非我发送给他们,我已经找到了很多关于如何强制https的资源,但这不是我想要做的。
这是我的htaccess的一个例子:
Options -Indexes
Options -MultiViews
<filesMatch "\.(html|htm|txt|js|htaccess)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>
ErrorDocument 404 /404.php
RewriteEngine On
#RewriteCond %{HTTPS} !=on
#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#Main site rules
RewriteRule ^about/?$ about.php [NC,L]
我可以使用以下方式强制使用https:
#RewriteCond %{HTTPS} !=on
#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
但是重定向到about.php的示例规则不起作用。
如何在重定向中允许https?
我还试验过:
Define servername www.example.com
Define SSL
但我不明白它的功能或实现。