1

所以我目前遇到的问题是我们的整个网站都是使用 https 进行索引的。我们想使用 .htaccess 重定向到 http。问题是我们需要几个 URI 才能仍然使用 https,我不确定如何编写 URI 的异常

我知道如果我们的网站像 www.example.com/account.php 这样运行,但我们的网站网址像 www.example.com/index.php?l=account

# Turn SSL on for account
RewriteCond %{HTTPS} off
RewriteCond %{SCRIPT_FILENAME} \/account\.php [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

我该如何解决这个问题,任何指导将不胜感激。

谢谢

编辑!

所以下面的这段代码我已经工作了,但我想再做一个我似乎无法工作的例外,我还希望根 (index.php) 只使用 http。

我尝试使用...

RewriteCond %{REQUEST_URI} !^/index.php 

但这没有用

# invoke rewrite engine
RewriteEngine On
RewriteBase /

RewriteCond %{https} off
RewriteCond %{QUERY_STRING} !^l=product_detail
RewriteCond %{QUERY_STRING} !^l=product_list
RewriteCond %{QUERY_STRING} !^l=page_view
RewriteRule ^(.*)$ https://%{HTTP_HOST}/development/$1 [R=301,L]

谢谢

4

1 回答 1

1

Try

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/account.php 
RewriteCond %{QUERY_STRING} !^l=account
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/account.php [OR]
RewriteCond %{QUERY_STRING} ^l=account
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
于 2013-04-17T17:46:36.343 回答