.htaccess htaccess重写需要一个异常
我在为一个站点上的一个URL定义一个异常时遇到了问题,该站点除了一个子目录外,所有URL都必须是https 我目前有:.htaccess htaccess重写需要一个异常,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我在为一个站点上的一个URL定义一个异常时遇到了问题,该站点除了一个子目录外,所有URL都必须是https 我目前有: ## Redirect URLs to https:// <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] </IfModule> ##将URL重定向到ht
## Redirect URLs to https://
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
</IfModule>
##将URL重定向到https://
重新启动发动机
重写cond%{SERVER_PORT}80
重写规则^(.*)$https://www.example.com/$1[R,L]
但是我需要在www.example.com/forum周围定义一个异常,这样它就始终没有https://协议
我该怎么做?我试过各种各样的方法!运算符重写,但%SERVER\u端口似乎优先。是否还有另一个改写我应该考虑的问题? < P>替换最后一行:
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
为此:
RewriteRule !^/?forum https://www.example.com%{REQUEST_URI} [R,L]
如果正常,则将[R,L]
替换为[R=301,L]
作为永久重定向
更新
根据您的评论,您希望强制任何https
请求包含论坛
到http
中,您可以将这些规则与上述规则一起添加:
RewriteCond %{SERVER_PORT} !80
RewriteRule ^/?forum http://www.example.com%{REQUEST_URI} [R,L]
谢谢当URL直接输入时,它似乎工作正常,停留在http上,而不是重定向到https。但是,每当点击论坛所在网站上任何位置的
相对链接时,它都希望转到https而不是http。即使有重写规则中定义的异常。有没有办法把它逼得更厉害?CMS只指向相对URL,不允许我用http定义绝对值。@rw intechra您可以以相反的方式添加新规则,我将更新答案,谢谢。我添加了这些行并刷新了浏览器好几次,但它仍然想在论坛上使用https。这只是一个临时修复,直到论坛可以安全,所以我想我只需要立即使论坛安全。清除浏览器缓存也不起作用。不过谢谢你帮我。我学到了一些新东西。