2010-06-18 12 views
0

Je suis dans les dernières étapes de l'aller-retour sur l'ensemble du cycle Rails: développement -> test -> production (sur un serveur externe). Je suis très proche ... mais voir des erreurs avec la version de production et ne sais pas assez sur Rails de « magie » pour résoudre les problèmes encore ...Nouveau Rails + Déploiement des passagers à mi-chemin ... pas sûr pourquoi?

cela fonctionne: www.mydomain.com/rails et retourne la vue de mon application

mais ceci: www.mydomain.com/rails/ renvoie (dans son intégralité):

<html> 
<body> 
Index from public 
</body> 
</html> 

Où est ce provenant!?! J'ai exclu Apache. Apache ne retournerait pas ce genre de html comme un index d'un répertoire ...

Ajouté: VirtualHost (par demande):

<VirtualHost *:80> 
    ServerName www.mydomain.com 
    ServerAdmin [email protected] 
    DocumentRoot "/Library/WebServer/mydomainweb" 
    DirectoryIndex "index.html" "index.php" 
    CustomLog "/var/log/apache2/access_log" "%h %l %u %t \"%r\" %>s %b" 
    ErrorLog "/var/log/apache2/error_log" 
    ErrorDocument 404 /error.html 
    <IfModule mod_ssl.c> 
     SSLEngine Off 
     SSLCertificateFile "/etc/certificates/Default.crt" 
     SSLCertificateKeyFile "/etc/certificates/Default.key" 
     SSLCipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:!SSLv2:+EXP:+eNULL" 
    </IfModule> 
    <IfModule mod_dav.c> 
     DAVLockDB "/var/run/davlocks/.davlock100" 
     DAVMinTimeout 600 
    </IfModule> 
    <IfModule mod_mem_cache.c> 
     CacheEnable mem/
     MCacheSize 4096 
    </IfModule> 
    <Directory "/Library/WebServer/mydomainweb"> 
     AllowOverride None 
     <IfModule mod_dav.c> 
      DAV On 
     </IfModule> 
     Options All -Includes -ExecCGI +MultiViews -Indexes 
    </Directory> 
    RailsBaseURI /rails 
    <Directory /Library/WebServer/rails/myapp/public> 
     Options -MultiViews -Indexes 
    </Directory> 
    <IfModule mod_rewrite.c> 
     RewriteEngine On 
     RewriteCond %{REQUEST_METHOD} ^TRACE 
     RewriteRule .* - [F] 
    </IfModule> 
    <IfModule mod_proxy_balancer.c> 
     <Proxy "balancer://balancer-group"> 
     </Proxy> 
    </IfModule> 
    <IfModule mod_alias.c> 
     Alias "/collaboration" "/usr/share/collaboration" 
     Alias "/icons/" "/usr/share/httpd/icons/" 
     Alias "/error/" "/usr/share/httpd/error/" 
     Redirect temp "/zapp.html" "/index.html" 
    </IfModule> 
    Include /etc/apache2/httpd_groups.conf 
    Include /etc/apache2/httpd_teams_required.conf 
    LogLevel warn 
    ServerAlias mydomain.com 
    ServerAlias images.mydomain.com 
</VirtualHost> 
+0

Pouvez-vous poster votre configuration VirtualHost? –

+0

OK. J'ai ajouté l'info VirtualHost ... – Meltemi

Répondre

0

Je pense que apache a permis l'exploration des répertoires et passager achemine cette demande vers le dossier public qui à son tour va directement à apache.

Vous pouvez

  1. Désactivation exploration des répertoires en désactivant Options Indexes (en omettant Indexes)
  2. Vous pouvez éventuellement attraper un itinéraire dans votre fichier routes.rb à ce chemin de façon explicite et la route à l'endroit où vous le souhaitez.
+0

J'ai essayé d'ajouter "Options -Index" dans le du VirtualHost mais cela ne semble pas aider – Meltemi

0

Pour le second, cela fonctionne-t-il si vous faites www.mydomain.com/rails/mycontroller/show/1?

Si cela fonctionne avec "show" entre mycontroller et 1, il y a un problème avec vos routes.

+0

essayé cela. Il ne fonctionne pas non plus avec www.mydomain.com/rails/mycontroller/show/1'. – Meltemi