转换url请求而不使用www字符串

时间:2012-03-22 14:35:06

标签: ruby-on-rails-3

我需要在rails应用程序中使我的默认URL响应没有www的cdn,例如my-domain.com。我尝试覆盖default_url,如下所示:

def default_url_options
    if Rails.env.production?
      {:host => "cdn.com"}
    else  
      {}
    end
 end

但是这个解决方案对ssl连接不起作用。在我的.htaccess中我尝试了这个:

RewriteCond %{HTTP_HOST} ^(my-domain\.com)(:443)? [NC]
RewriteRule ^(.*) https://my-domain/$1 [R=301,L]
order deny,allow

但是当我请求网址:https://www.my-domain.com/时,浏览器会使用www调用相同的网址。 问题是证书的ssl对my-domain.com没有www字符串有效,当我请求这样的网址:https://www.my-domain.com/时,Chrome会告知ssl无效。我需要在铁路应用中采用某种方式来转换所有请求:https://www.my-domain.com/

中的https://my-domain.com/

由于

1 个答案:

答案 0 :(得分:0)

你应该试试这个.htaccess

RewriteCond %{HTTP_HOST} ^(www\.)?(my-domain\.com)(:443)? [NC]
RewriteRule ^(.*) https://my-domain/$1 [R=301,L]
order deny,allow

注意前面有另一个令牌(www)??如果您有前面的www,它会匹配您的域名。