Slash after domain in URL missing for Rails site

Posted by joshee on Server Fault See other posts from Server Fault or by joshee
Published on 2012-12-18T15:37:33Z Indexed on 2012/12/18 17:04 UTC
Read the original article Hit count: 208

Filed under:
|

After redirecting users in a Rails app, for some reason the slash after the domain is missing. Generated URLs are invalid and I'm forced to manually correct them. The problem only occurs on a subdomain. On a different primary domain (same server), everything works ok.

For example, after logging out, the site is directing to https://www.sub.domain.comlogin/ rather than https://www.sub.domain.com/login

I suspect the issue has something to do with the vhost setup, but I'm not sure. Here are the broken and working vhosts:

BROKEN SUBDOMAIN

<VirtualHost *:80>
  ServerName www.sub.domain.com
  ServerAlias sub.domain.com
  Redirect permanent / https://www.sub.domain.com
</VirtualHost>

<VirtualHost *:443>
  ServerAdmin [email protected]
  ServerName www.sub.domain.com
  ServerAlias sub.domain.com
  RailsEnv production

  # SSL Engine Switch
  SSLEngine on

  # SSL Cipher Suite:
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

  # Server Certificate
  SSLCertificateFile /path/to/server.crt

  # Server Private Key
  SSLCertificateKeyFile /path/to/server.key

  # Set header to indentify https requests for Mongrel
  RequestHeader set X_FORWARDED_PROTO "https"

  BrowserMatch ".*MSIE.*" \
  nokeepalive ssl-unclean-shutdown \
  downgrade-1.0 force-response-1.0

  DocumentRoot /home/usr/www/www.sub.domain.com/current/public/
  <Directory "/home/usr/www/www.sub.domain.com/current/public">
    AllowOverride all
    Allow from all
    Options -MultiViews
  </Directory>

WORKING PRIMARY DOMAIN

<VirtualHost *:80>
  ServerName www.diffdomain.com
  ServerAlias diffdomain.com
  Redirect permanent / https://www.diffdomain.com
</VirtualHost>

<VirtualHost *:443>
  ServerAdmin [email protected]
  ServerName www.diffdomain.com
  ServerAlias diffdomain.com
  ServerAlias *.diffdomain.com
  RailsEnv production

  # SSL Engine Switch
SSLEngine on

  # SSL Cipher Suite:
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

  # Server Certificate
SSLCertificateFile /path/to/server.crt

  # Server Private Key
SSLCertificateKeyFile /path/to/server.key

  # Set header to indentify https requests for Mongrel
  RequestHeader set X_FORWARDED_PROTO "https"

  BrowserMatch ".*MSIE.*" \
  nokeepalive ssl-unclean-shutdown \
  downgrade-1.0 force-response-1.0

  DocumentRoot /home/usr/www/www.diffdomain.com/current/public/
  <Directory "/home/usr/www/www.diffdomain.com/current/public">
    AllowOverride all
    Allow from all
    Options -MultiViews
  </Directory>
 </VirtualHost>

Please let me know if there's anything else I could provide that would help determine what's wrong here.

UPDATE tried adding a trailing slash to the redirect command, but still no luck.

© Server Fault or respective owner

Related posts about apache2

Related posts about ruby-on-rails