首页 文章

使用.htaccess重定向到使用apache反向代理的rails应用程序

提问于
浏览
0

我在端口3000上运行一个简单的rails应用程序 . 我已经反向代理它到apache端口80并启用了mod_rewrite . 当我通过http和https访问时,应用程序工作正常 . 现在我想将所有http请求重定向到https . 我已经在rails应用程序的公共文件夹下有一个.htaccess文件,但它似乎不起作用 .

RewriteCond %{SERVER_PORT} 80 [OR,NC]
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ https://domain.com/$1 [R=301,L]

Domain.com指向我的域名 . 此外,我不希望我的子域名被重定向到https . 我该如何实现?

2 回答

  • 0

    删除OR条件并尝试:

    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
    RewriteRule ^(.*)$ https://domain.com/$1 [R=301,L]
    
  • 1

    要检查是否启用了https,可以将RewriteCondHTTPS 变量一起使用

    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L]
    

相关问题