Mod Rewrite - 多重条件

时间:2013-09-16 11:59:30

标签: .htaccess mod-rewrite

我有一个特定的子域,需要为该子域上的所有页面建立SSL连接。

这是我目前的.htaccess脚本:

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

我在子域上有一个页面,它必须没有SSL访问权限(导致在没有证书的情况下访问另一台服务器上的文件时出现问题)。

我的mod_rewrite知识非常有限。我已经完成了搜索但找不到我需要的东西。

我的问题是,必须有https的页面称为'tutorial.php'。有没有办法将所有页面 tutorial.php重定向到https?

我猜在伪代码中,RewriteCond类似于:

RewriteCond %{SERVER_PORT} 80 AND {WEB_PAGE}!='tutorial.php'

由于

1 个答案:

答案 0 :(得分:1)

试试这个:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !/tutorial\.php
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

RewriteCond %{HTTPS} on
RewriteRule ^tutorial\.php$ http://%{HTTP_HOST}/tutorial.php [R,L]