Lighttpd 的 Rails加 PHP 設定 (相同 Domainꐠ…
http://lightyror.blogspot.com/2006/09/lighttpd-rails-domain_13.html
之前的文章有誤,解決方式感謝ptt tka 版友提示
我上一篇介紹了不同 Domain 的 Rails 加 PHP 設定。而根據Syschen這篇文章,裡面介紹了 Single Domain 不同 web dir的設定方式,實在受益良多。但是根據 ihower 的回報
成功跑起來之後,我發現 public 裡面的css跟圖片連結等還是不對。
我嘗試了一下,當我將一個跑 Multi Domain 的 Lighttpd 改成單一 Domain ,將一個原本顯示好好的圖片,像是 http://rails.host.com/images/abc.jpg
之後,然後 reload,他會出現
Routing Error
Recognition failed for "/rails/images/logo_friends.gif"
恩,很明顯出現上面 ihower 兄講的問題。根據 PTT 版友 tka 提示我
小弟 亦遇此問題 經由google搜尋後
自中這個網頁獲得解答
關鍵在於 alias.url 這個設定值 若依照該網頁之方式設定 便可得到 正常的結果
所以我仔細看了一下這個網頁,簡單列出幾個重點,除了我上一篇的重點外,還要加上 alias.url 才可正常 work
========Lighttpd Conf=============
var 部份一樣加入一個 var.railsbasedir
var.railsbasedir = "/var/www/friends.roodo.com/rail1/"
Modules 要加上 mod_fastcgi , mod_rewrite, mod_redirect , mod_alias
server.modules += ("mod_fastcgi" , "mod_rewrite", "mod_redirect" , "mod_alias")
index file 要加上 dispatch.fcgi
index-file.names = ( "index.php", "index.html","index.htm", "default.htm", "dispatch.fcgi" )
Virtual Domain 要改成 目錄設定
$HTTP["url"] =~ "^/rails/" {
include 'rails.conf'
}
$HTTP["url"] =~ "^/php/" {
include 'php.conf'
}
rails.conf 等下就會講到怎麼寫,php.conf 可以看 Lighttpd 的 Rails and PHP 設定 (不同 Domain ) 寫法
=========在 lighttpd config 底下新開一個 Rails.conf======
我加入了 alias.url
server.document-root = var.railsbasedir+"public/"
alias.url = ( "/rails/" => var.railsbasedir+"public/" )
server.error-handler-404 = "/dispatch.fcgi"
server.indexfiles = ( "dispatch.fcgi", "index.html" )
fastcgi.server = ( ".fcgi" =>
( "localhost" =>
(
"min-proc" => 1,
"max-proc" => 1,
"socket" => var.railsbasedir+"tmp/app1-fastcgi.socket",
"bin-path" => var.railsbasedir+"public/dispatch.fcgi",
"bin-environment" => ( "RAILS_ENV" => "development" )
)
)
)
=============Rails Routing Config==============
修改 conf/route.rb,告訴 Rails 您處於 http://www.abc.com/rails/ 底下
map.connect 'rails/:controller/service.wsdl', :action => 'wsdl'
map.connect 'rails/:controller/:action/:id'
=============顯示結果===================
如此當我將一個原本顯示好好的圖片,像是 http://rails.host.com/images/abc.jpg
之後,他的確可以正常顯示了。
不過,我程式所有的圖片路徑都是直接指定 img src="/images/abc.jpg",所以我的程式裡面的圖片完全無法正確顯示,所以我的程式寫法是無法從 Multi Domain 改成 Signal Domain 的。解決方式就是在 helper 裡面,將所有圖片顯示的地方都用 helper 來幫我顯示。
--
lighty RoR 是一個介紹 lighttpd , SQLite , Ruby and Rails 的 Blog
http://lightyror.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.100.157
※ 編輯: giive 來自: 61.230.100.157 (11/09 08:36)
※ 編輯: giive 來自: 61.218.90.242 (11/09 11:51)
※ 編輯: giive 來自: 61.218.90.242 (11/09 11:51)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章