我已经接管了一个网站,并试图强制https。我已将以下内容添加到我的.htaccess文件中:
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L]
文件的其余部分如下所示:
RewriteCond %{REQUEST_FILENAME} !^(.*)/audio_recording/(.*)$
RewriteCond %{REQUEST_FILENAME} !^(.*)/bwcheck/(.*)$
RewriteCond %{REQUEST_FILENAME} !^(.+)/page\.php$
... lots of Conditions
RewriteRule ^(.*)\.* page.php?$1 [L]
IndexIgnore *
当我添加https重定向时,我收到以下错误:
页面未正确重定向 Firefox检测到服务器正在以永远无法完成的方式重定向此地址的请求。
和chrome:
此网页有重定向循环...
然而,网址会更新为https。
编辑:
这是.htaccess文件的开头:
php_value memory_limit 64M
<Files .htaccess>
order allow,deny
deny from all
</Files>
DirectoryIndex index
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
ErrorDocument 404 /web/content/content/404.php
答案 0 :(得分:4)
以下似乎解决了我的问题:
RewriteCond %{ENV:HTTPS} !on [NC]
答案 1 :(得分:0)
简单如下:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
答案 2 :(得分:0)
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://yourwebsite.com/$1 [R,L]
http ==> https
www ==> https
http ==> https
http://www ==> https