htaccess重写条件中的模式匹配

时间:2015-06-23 09:06:19

标签: apache .htaccess mod-rewrite https

我在.htaccess文件中有一个重写条件,该文件用于“不”强制特定网址使用HTTPS连接,但它目前在其他网址上错误匹配,这里是重写规则......

RewriteCond %{HTTPS} off
RewriteCond !/go/ [NC]
RewriteCond %{HTTP_HOST} ^app\.ihasco\.co\.uk [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

这是我要在第二行中匹配的URL的示例:

http://app.ihasco.co.uk/training/MTMwfG5pbmVmb3Vy/go/ST/bmF0aGFuQG5pbmVmb3VyLmNvLnVr

但是,第2行似乎也匹配以下网址:

http://app.ihasco.co.uk/client/login

并且随后无法强制他们使用HTTPS。我错过了什么? :

1 个答案:

答案 0 :(得分:0)

您需要告诉RewriteCond要匹配的内容!/go/。将第二行更改为:

RewriteCond %{REQUEST_URI} !/go/ [NC]