1

我用这个代码

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

将所有请求重定向到 HTTPS,这没关系。

现在我想要同样的东西,除了一个文件 index810.php

当我这样写

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^ index810.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}  

我收到太多重定向,任何建议。

先感谢您

4

2 回答 2

5

一种解决方案是使用非重写规则:

# do nothing for /index810.php
RewriteRule ^index810\.php$ - [L]
# else ...
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}

你的模式是错误的:

  • ^ 和 index810.php 之间有一个空格
  • %{REQUEST_URI} 是所有 HTTP 路径(即,如果在文档根目录,则为=/index810.php
于 2013-10-02T15:58:00.813 回答
0

接受的答案对我不起作用。然而,这确实:

RewriteCond %{THE_REQUEST} !/index810\.php [NC]
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}
于 2016-05-11T09:29:49.500 回答