2010-11-24 3 views
1

Cela fait des semaines que je fais des allers-retours avec Network Solutions. Tout ce qu'ils ont est un bouton de téléchargement de fichier pour télécharger votre application, et c'est tout. Pas moyen de démarrer l'application, ou SSH dans le serveur. Quand j'ai suivi leurs instructions explicitement, et j'ai reçu un 403 Forbidden même si mes fichiers étaient 775, je leur ai envoyé un courriel, et ce sont mes réponses.Pouvez-vous résoudre une application RoR dans le dossier public?

2 jours d'attente, je suis arrivé cette réponse ..

We apologize for the inconvenience. We have checked your files on the server and we have determined that there is no index file uploaded on /htdocs/rails/testingApp/public directory. Please upload your index file inside the /public directory.

..car RoR sort du répertoire public maintenant? Je leur ai expliqué, avec gentillesse, que les applications RoR ne se résolvent pas dans le répertoire public.

2 jours plus tard ..

I apologize for the confusion, the way our rails apps deploy, the /public/ folder will be the default directory that http://testingapp.yourwebsite.com/ resolves to. You may need to alter or redeploy if your applicaton is set to run it's public root from another folder.

Dont stupide ici? Je ne peux pas le dire. Existe-t-il un moyen de résoudre une application RoR dans le dossier public?

+6

Courir, ne pas marcher, loin des solutions de réseau. Trouver un fournisseur d'hébergement réel. –

+2

Tout type de fournisseur de services qui utilise la phrase "Nous nous excusons pour le ** inconvénient **" mérite un coup de pied gênant dans la crosse. Un service non effectué n'est pas un * inconvénient *. C'est un briseur d'affaire. – edgerunner

Répondre

2

Vous avez raison, en fait le middleware (Rack je pense?) Qui réside entre le serveur web et Rails prend soin de convertir une requête HTTP qui arrive sur yourname.com/ suivant le fichier routes vers le bon contrôleur et la vue couplée. Cela signifie que vous n'aurez jamais un fichier réel en public qui représente l'index de votre page .. Je ne comprends pas ce qu'ils demandent (puisqu'ils déclarent explicitement qu'ils offrent l'hébergement RoR) . Leur demande semble juste incompétence. Le dossier public est utilisé pour publier des ressources statiques, mais juste pour cela, de sorte que toutes les demandes qui pointent vers une source statique sous la racine de l'URL, par exemple yoursite.com/static_img.jpg, sont transmises au fichier réel résidant dans ce répertoire, ce n'est pas true pour les vues RoR normales.

6

On dirait qu'ils utilisent Phusion Passenger pour les applications Rails, pour lesquelles DocumentRoot est en effet le sous-répertoire Rails/public. Ceci est un scénario d'hébergement commun pour les applications Rails.

+0

Ouais, mais pourquoi ont-ils besoin d'un fichier index.html? C'est un fichier régulièrement supprimé, de sorte que vous pouvez utiliser n'importe quelle action du contrôleur comme action "home", non? –

+0

hmm .. comment vous résoudre l'application RoR à la dir/public? – Trip

+0

Passenger sait charger l'application depuis le répertoire ci-dessus/public. C'est en fait un moyen sensé de faire fonctionner une extension Apache: de cette façon, les requêtes pour les entités statiques vont directement dans le répertoire, au lieu de générer un surcoût de Rails. Seules les demandes qui ne peuvent pas être satisfaites statiquement sont transmises à l'application Rails. – Avdi

1

J'ai augmenté la réponse des passagers, mais je pense que votre véritable réponse pourrait se trouver dans http://heroku.com/. probablement l'un des déploiements de rails les plus faciles que j'ai jamais faits.

+0

Oui, j'aime bien Heroku. Et j'apprécie également MediaTemple, et WebFaction semble bon. Mon favori de tous les temps est EngineYard. Et NS peut sucer mon proverbial # – Trip

+0

J'aime Heroku mais il peut devenir cher rapidement. – BlakeWilliams

2

Je suis vraiment content de la webfaction, qui offre à peu près la même fonctionnalité, une excellente prise en charge des rails (même rails 3), un accès ssh, et je les trouve vraiment pas cher.

0

Existe-t-il un fichier .htaccess? Vous pouvez ajouter une règle de réécriture pour index.html.

+0

Je ne sais pas comment je ferais ça .. – Trip

Questions connexes