为什么这个htaccess排除条件不起作用?

时间:2012-09-26 23:19:23

标签: apache .htaccess mod-rewrite

我在我们网站的所有页面上强制使用https,但由于我们使用的一些旧插件的复杂性(需要通过http连接),我需要为一个目录设置https强制的例外。

但是,我无法解决这个问题。我认为应该有效的规则是给我403错误。

有人可以看看吗?

我有很多东西可以将非www重定向到www:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^subdomain1.site.com$
RewriteCond %{HTTP_HOST} !^subdomain2.site.com$
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301] 

然后是https强制:

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://www.site.com/$1 [R,L]

但是,如果我添加另一个条件来从此规则中排除目录:

RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !^/subdir/sub-subdir/
RewriteRule ^(.*)$ https://www.site.com/$1 [R,L]

我在404页面中看到内容时收到错误,但网址为https://www.site.com/403.shtml - 但我的网络根目录中没有403.shtml。 (这是一个WHM / cPanel驱动的服务器)

0 个答案:

没有答案