嘿,我正在尝试使用.htaccess在我网站的页面上强制使用SSL。
在我的.htaccess中,我正在这样做:
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} auth/login
RewriteRule ^(.*)$ https://shop.mysite.co.uk/auth/login [R=301,L]
所以我要去这个页面:http://shop.mysite.co.uk/auth/login - 希望它被强制为.htaccess
我知道它有效,因为我确信我早些时候工作了。但我有一种可怕的感觉,我改变了一些东西,不知道什么,现在它不会起作用!当我转到http://shop.mysite.co.uk/auth/login时,它只是使用http正常加载页面而不是https。
似乎是这样:RewriteCond %{REQUEST_URI}
auth / login无法正常工作,如果我删除该行,则会将任何网址重定向到https://shop.mysite.co.uk/auth/login。
答案 0 :(得分:1)
如果您正在使用除上述规则之外的其他规则,请确保在这些规则之前放置导致外部重定向(即 R 标志)的规则,这些规则只会导致内部重写。否则,已经内部重写的规则可能已经更改了您的请求URL,并且您的模式将不匹配。
答案 1 :(得分:0)
REQUEST_URI
将有一个前缀斜杠。这应该有效:
RewriteCond %{REQUEST_URI} /auth/login