3

我已经接管了一个网站并试图强制使用 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 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。

和铬:

此网页有重定向循环...

但是,网址已更新为 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
4

3 回答 3

6

以下似乎解决了我的问题:

RewriteCond %{ENV:HTTPS} !on [NC]

于 2013-07-08T17:26:11.423 回答
0

它很简单:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
于 2017-12-09T11:28:24.220 回答
0

试试这个

这会解决你的问题。

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://yourwebsite.com/$1 [R,L]
  1. http ==> https

  2. www ==> https

  3. http ==> https

  4. http://www ==> https

于 2020-01-25T12:38:59.043 回答