.htaccess force ssl执行一些url(s)

时间:2017-12-25 12:50:12

标签: .htaccess mod-rewrite

我正在尝试将每个请求重定向到“https”,而不是对“example.org/forum / ...”的任何调用,但是解决方案的数量没有用,我无法弄清楚为什么例如这个方法不起作用:

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/forum/.*$
RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule ^(.*)$ https://example.org$1 [R=301,L]

RewriteCond %{REQUEST_URI} ^/forum/.*$
RewriteCond %{SERVER_PORT} ^443$ 
RewriteRule ^(.*)$ http://example.org/$1 [R=301,L]
编辑:我现在在一个只使用一些文件夹,index.html文件和.htacess文件的域上试过这个例子,除了根目录中的这两个规则之外什么都没有,就像魅力一样!

关键是我尝试在下面带有cms的域上实现这一点,它是一个集邮安装,并且它不起作用。我也在wordpress安装上尝试过,它也不起作用! 所以我认为它与内部重定向有关,有没有人有线索!?我在网上找不到这样的案例......

2 个答案:

答案 0 :(得分:2)

RewriteCond directive REQUEST_URI/开始,您应该更改这些规则:

RewriteCond %{REQUEST_URI} !^/forum/.*$
RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule ^(.*)$ https://example.org/$1 [R=301,L]

RewriteCond %{REQUEST_URI} ^/forum/.*$
RewriteCond %{SERVER_PORT} ^443$ 
RewriteRule ^(.*)$ http://example.org/$1 [R=301,L]

答案 1 :(得分:-1)

上的RewriteEngine

RewriteCond%{HTTP_HOST} ^ yourdomaim.com $

RewriteRule(。*)https://www.yourdomain.com/ $ 1 [R = 301,L]

RewriteRule ^ $文件夹名称[L]

我可以将所有内容重定向到https

Foldername是youdomain.com/foldername之后的文件夹