`
alang
  • 浏览: 134897 次
  • 性别: Icon_minigender_1
  • 来自: 地球
文章分类
社区版块
存档分类
最新评论

把Rails程序移到apache的子路径下碰到了问题

阅读更多

我写的一个应用,是项目的一部分,做完了,要把它合到现有的项目中去(这个项目是用C++做Apahce 的module扩展来实现的),作为一个子目录比如/task,使用的方法是mongrel + apache + proxy,把这个/task子路径映射到后台的mongrel_rails进程上。也就是反向代理。
网上有文章:http://mongrel.rubyforge.org/docs/apache.html

mongrel的启动参数:

代码:
sudo mongrel_rails start -e production –prefix /task

apache2.2.3的配置:

代码:
ProxyRequests Off
ProxyPass /task http://0.0.0.0:3000/task
ProxyPassReverse /task http://0.0.0.0:3000/task

现在访问http://X.X.X.X/task,应用都比较正常,比如原来的路径是/project/list,现在就是/task/project/list。统统的自动在原来的路径前面加了一级/task/

唯一的问题是:
原来在Rails中手写了一些链接,比如“返回首页”,写的链接路径是“/”,在目前的这个环境中就不正常了,它应该还是回到原来Rails程序的public目录下,而不是回到我现在的apache的根目录下。
原来以来不用link_to或者url_for生成链接,直接手写路径会提高rhtml的解析效率,现在就碰到这样的移植问题。目前已经把应该用link_to/url_for的已经全部换掉了,

再重复一遍我的问题:如何写link_to/url_for,让原来Rails的”/”在我的环境下还是回到Rails的public目录?还有一些链接的静态html文件,如何在移植的环境下,找到服务器上的正确的路径?
路径肯定不能写死。
我记得asp/php下面都有这样的server_map之类的函数,得到一个文件的相对路径。

update:

谢谢蔡望青(我老是念成菜青虫) 的回复。其实在Rails的红宝书里面,在讲Rails的配置文件时,里面已经提到了asset_host,看书没记性。在看完书后,就再也没有翻过,其实这书我已经看过3遍了,每次看都有新感觉。特别是蹲在马桶上看,非常有感觉。哈哈。

分享到:
评论

相关推荐

    使用RSpec 测试Rails 程序.pdf

    使用RSpec 测试Rails 程序.pdf

    Rails下运行PHP程序Phuby.zip

    Ruby核心团队成员Aaron Patterson完成了phuby,它可以在Rails应用下运行php应用程序。项目的地址在https://github.com /tenderlove/phuby,尽管项目主持人Aaron发布了几个视频去证明phuby能让php在Rails下运行,但...

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板.zip

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...

    Ruby-karafka基于ApacheKafka的Ruby和Rails应用程序开发框架

    karafka 基于Apache Kafka的Ruby和Rails应用程序开发框架

    Rails之道,完整扫描版

    《Rails之道》按照Rails的各个子系统进行组织编排,分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,...

    Ruby on Rails Tutorial

    在这个全球互联的世界中,计算机编程和 Web 应用程序开发都在迅猛发展,我很期待能为中国的开发者提供 Ruby on Rails 培训。学习英语这门世界语言是很重要的,但先通过母语学习往往会更有效果。正因为这样,当看到 ...

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    Ruby on Rails程序设计深入剖析与范例应用

    本章详细介绍Rails数据持久化技术ActiveRecord的使用,包括ORM与ActiveRecord的简介、建立数据表的映射、执行动态查询、插入数据、删除数据、表之间的关联,以及数据有效性验证等。  第11章 MVC的控制器层。本章...

    webpack-rails, 将 web pack与你的Ruby on Rails 应用程序集成.zip

    webpack-rails, 将 web pack与你的Ruby on Rails 应用程序集成 不再维护webpack-rails 不再被维护。... web pack-railsweb pack 为你提供了将 web pack集成到现有的Ruby on Rails 应用程序中的工具。它很乐

    adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成.zip

    adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成 AdminLTE Rails gem AdminLTE 是后端的高级 Bootstrap 主题。英镑 AdminLTE Rails gem 与 Rails 资产管道...安装将此行添加到你的应用程序的

    Rails预加载程序Spring-Rails.zip

    Spring是Rails的预加载器。Spring 能够通过保持应用运行在后台,来提升开发模式下的速度。使得不需要在执行test,rake task以及migration时每次都加载。 标签:Spring

    [Rails] Crafting Rails Applications (英文版)

    [Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    Rails项目源代码

    一个用Ruby on Rails搭建的图片分享的网站项目.完整源代码

    Ruby-Draper将面向对象的表示逻辑层添加到您的Rails应用程序

    Draper - 将面向对象的表示逻辑层添加到您的Rails应用程序

    rails学习免费书籍

    Ruby On Rails是一个用于编写网络应用程序的软件包.它基于一种计算机软件语言Ruby,给程序开发人员提供了强大的框架支持.本书介绍了rails的基本使用,深入扩展,练习挺多的

    rails3教程

     约定大于配置 - rails railsrailsrails假定你想要做什么以及准备如何,而不是把任事情都放到配置文件中去。 假定你想要做什么以及准备如何,而不是把任事情都放到配置文件中去。 假定你想要做什么以及准备如何,...

    rails 入门文档

    本文介绍如何开始使用 Ruby on Rails。...如何安装 Rails,新建 Rails 程序,如何连接数据库; Rails 程序的基本文件结构; MVC(模型,视图,控制器)和 REST 架构的基本原理; 如何快速生成 Rails 程序骨架;

    Rails101_by_rails4.0

    中文世界唯一一本Rails 4.0.0 + Ruby 2.0.0 的自學書籍

Global site tag (gtag.js) - Google Analytics