Mod rewrite mod_rewrite.htaccess HTTPS
如果有人键入以下内容,我想强制浏览器始终重定向到HTTPS:Mod rewrite mod_rewrite.htaccess HTTPS,mod-rewrite,Mod Rewrite,如果有人键入以下内容,我想强制浏览器始终重定向到HTTPS: http://www.mydomain.com/user or http://www.mydomain.com/user/ 以上两个链接都应重定向到:https://www.mydomain.com/user 现在,代码的第二行到最后一行工作正常: RewriteRule ^user$ https://www.mydomain.com/user/ [R,QSA] 确实会将浏览器重定向到HTTPS,但如果http://www.myd
http://www.mydomain.com/user
or
http://www.mydomain.com/user/
以上两个链接都应重定向到:https://www.mydomain.com/user
现在,代码的第二行到最后一行工作正常:
RewriteRule ^user$ https://www.mydomain.com/user/ [R,QSA]
确实会将浏览器重定向到HTTPS,但如果http://www.mydomain.com/user/
输入后,它将不会重定向到HTTPS。我怎样才能做到这一点
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^mydomain.com [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301]
RewriteRule ^user$ https://www.mydomain.com/user/ [R,QSA]
RewriteRule ^user/$ public/index.php?var1=x&var2=y [L,QSA]
这个怎么样
RewriteRule ^user/(.+)/?$ public/index.php?var1=x&var2=y [L,R=301]
RewriteRule ^user/?$ https://www.mydomain.com/user/ [L,QSA]
RewriteRule ^(.*)/?$ http://www.mydomain.com/$1 [L,R=301]
使用以下规则:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
# force www domain name
RewriteCond %{HTTP_HOST} ^mydomain.com [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301]
# force HTTPS for some pages
RewriteCond %{HTTPS} =off [NC]
RewriteRule ^user/?$ https://www.mydomain.com/user/ [R=301,L]
RewriteRule ^user/$ public/index.php?var1=x&var2=y [L,QSA]
它将重定向到HTTPS:
- 如果HTTP是当前协议(因此,如果已经在HTTPS上,则无重定向)
- 无论是否存在尾随斜杠:
和/user
都将执行此任务(但如果请求/user/
,则不会执行任何操作)/user/此处的某些内容