Lighttpd 的 Rails加 PHP 設定 (相同 Domainꐠ…

看板Ruby作者 (lala)時間18年前 (2006/11/09 08:31), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
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
改成了 http://rails.host.com/rails/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
改成了 http://rails.host.com/rails/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)
文章代碼(AID): #15KdRlfC (Ruby)
文章代碼(AID): #15KdRlfC (Ruby)