开发者社区> 文艺小青年> 正文

A small trick to avoid 404 error when redmine runs on dreamhost

简介:
+关注继续查看

I locate my redmine webite on dreamhost shared-host. It works well in the first 8 months. But recently I meet 404 Page not found frequently when I post a topic in the forum, or create new issues. This weekend I decide to dig the bug.

 

The problem looks like this in redmine/log/production.log 

 

复制代码
Processing IssuesController#create (for 999.999.999.99 at 2011-07-09 08:38:36) [POST]
  Parameters: {"commit"=>"创建""project_id"=>"test""action"=>"create""authenticity_token"=>"JOLhksjiN1Wmpt4iAVrw22Y+9+Pvdn1Kr6RwMQ3xDac=""issue"=>{"start_date"=>"2011-07-09""estimated_hours"=>"""priority_id"=>"4""parent_issue_id"=>"""assigned_to_id"=>"""subject"=>"performance test""tracker_id"=>"1""due_date"=>"""status_id"=>"1""description"=>"12313"}, "controller"=>"issues""attachments"=>{"1"=>{"description"=>""}}}
Sending email notification to: 
Redirected to http:
//project.cocos2d-x.com/issues/62
Completed 
in 674ms (DB: 408| 302 Found [http://project.cocos2d-x.com/projects/test/issues]


Processing ApplicationController
#index (for 125.77.152.242 at 2011-07-09 08:38:37) [GET]

ActionController::RoutingError (No route matches 
"/internal_error.html" with {:method=>:get}):
  
/dh/passenger/lib/phusion_passenger/rack/request_handler.rb:92:in `process_request'
  /dh/passenger/lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop'
  /dh/passenger/lib/phusion_passenger/railz/application_spawner.rb:400:in `start_request_handler'
  /dh/passenger/lib/phusion_passenger/railz/application_spawner.rb:351:in `handle_spawn_application'
  /dh/passenger/lib/phusion_passenger/utils.rb:184:in `safe_fork'
  /dh/passenger/lib/phusion_passenger/railz/application_spawner.rb:349:in `handle_spawn_application'
  /dh/passenger/lib/phusion_passenger/abstract_server.rb:352:in `__send__'
  /dh/passenger/lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
  /dh/passenger/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
  /dh/passenger/lib/phusion_passenger/abstract_server.rb:163:in `start'
  /dh/passenger/lib/phusion_passenger/railz/application_spawner.rb:209:in `start'
  /dh/passenger/lib/phusion_passenger/spawn_manager.rb:262:in `spawn_rails_application'
  /dh/passenger/lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add'
  /dh/passenger/lib/phusion_passenger/spawn_manager.rb:256:in `spawn_rails_application'
  /dh/passenger/lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize'
  /dh/passenger/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
  /dh/passenger/lib/phusion_passenger/spawn_manager.rb:255:in `spawn_rails_application'
  /dh/passenger/lib/phusion_passenger/spawn_manager.rb:154:in `spawn_application'
  /dh/passenger/lib/phusion_passenger/spawn_manager.rb:287:in `handle_spawn_application'
  /dh/passenger/lib/phusion_passenger/abstract_server.rb:352:in `__send__'
  /dh/passenger/lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
  /dh/passenger/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'

Rendering 
/home/walzer/project.cocos2d-x.com/public/404.html (404 Not Found)


Processing IssuesController
#show (for 999.999.999.99 at 2011-07-09 08:38:49) [GET]
  Parameters: {"action"=>"show""id"=>"62""controller"=>"issues"}
Rendering template within layouts
/base
Rendering issues
/show.rhtml
Completed 
in 831ms (View: 312, DB: 484| 200 OK [http://project.cocos2d-x.com/issues/62]
复制代码

 

In the first paragraph, I create an issue. After that the passenger raise an "internal_error", and would like to find public/internal_error.html. Of course this file isn't exist, it's redmine/public/500.html instead. So I get a 404 error, public/404.html is rendered. In the 3rd paragraph, I refresh the page, and get the issue detail page correctly.


I contact the tech support of dreamhost, but the guy refuse to support problems of redmine. damn... I google this problem, many others met it but have no solutions given in their topics, such as

http://discussion.dreamhost.com/thread-130022.html  (The tech support of dreamhost is just so so..)

http://groups.google.com/group/phusion-passenger/browse_thread/thread/c04394c2bf8440f6 

http://railsforum.com/viewtopic.php?id=36826 (not completely the same)

They're the motion of writing this blog :) 

 

OK, I must DIY now. I know almost nothing about rails, haha. So the breaking point is the 404 page.

 

1. copy 500.html to internal_error.html to avoid 400 error 

After this step, the log looks correctly, but I get a internal_error.html rendered. Actually, I wish it still tell me something more about this error.

 

复制代码
Processing MessagesController#new (for 999.999.999.99 at 2011-07-10 01:47:29) [POST]
  Parameters: {"board_id"=>"11""commit"=>"Create""action"=>"new""authenticity_token"=>"+KpHpWkhr/4pJQ4tyOgkxtV/CE8tq05r8EM605DLiJE=""controller"=>"messages""message"=>{"subject"=>"Another test topic""content"=>"go away 500! damn!""sticky"=>"0""locked"=>"0"}, "attachments"=>{"1"=>{"description"=>""}}}
Sending email notification to: xxxx@cocos2d
-x.org, yyyy@tranzda.com, zzz@cocos2d-x.org, aaa@cocos2d-x.org, bbbb@cocos2d-x.org, ccccc@gmail.com
Redirected to http:
//www.cocos2d-x.org/boards/11/topics/2290
Completed 
in 2148ms (DB: 38| 302 Found [http://www.cocos2d-x.org/boards/11/topics/new]


Processing MessagesController
#show (for 999.999.999.99 at 2011-07-10 01:47:34) [GET]
  Parameters: {"board_id"=>"11""action"=>"show""id"=>"2290""controller"=>"messages"}
Rendering template within layouts
/base
Rendering messages
/show
Completed 
in 106ms (View: 72, DB: 20| 200 OK [http://www.cocos2d-x.org/boards/11/topics/2290]
复制代码

 

I can simply click refresh to get the right page. Why not do it automatically?

 

2. add this code into the header of redmine/public/internal_error.html

复制代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd"
>
<head>
    
<META HTTP-EQUIV="refresh" CONTENT="0">
</head>
<html>
<title>Redirect</title>
<body>
  
<h1>I can not wait to refresh...</h1>
  
<form>
  
<input type="button" onClick="history.go(0)" value="Refresh">
  
</form>
</body>
复制代码

</html> 

Oh nice, when the passenger raises 500 error, it will not invoke public/500.html, but call my custom public/internal_error.html, and refresh to the right page immediately.

 

It's nothing but a small trick. I hope it can help others who meet the same problem :)


本文转自Walzer博客园博客,原文链接:http://www.cnblogs.com/walzer/archive/2011/07/10/2102435.html,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
UserWarning: Glyph 28857 (\N{CJK UNIFIED IDEOGRAPH-70B9}) missing from current font. FigureCanvasA
UserWarning: Glyph 28857 (\N{CJK UNIFIED IDEOGRAPH-70B9}) missing from current font. FigureCanvasA
73 0
E: Unable to correct problems, you have held broken packages.
在使用服务器配置环境中遇到的问题,先将解决方案列下:
215 0
Performance problem during saving - activating big form
Performance problem during saving - activating big form
31 0
Solving environment: failed with initial frozen solve. Retrying with flexible solve的解决方法
Solving environment: failed with initial frozen solve. Retrying with flexible solve的解决方法
3595 0
Common mistakes to avoid while using big data in risk management
Managing risk is a challenging enterprise, and errors are often made which can lead to catastrophic consequences.
1543 0
ECShop出现Strict Standards: Only variables should be passed by reference in的解决方法
引用其他网络已解决文章,收藏起来,以便翻阅。侵删 装ecshop之后有些可能出现这样的错误: Strict Standards: Only variables should be passed by reference in F:\www.
936 0
The project was not built due to "Could not delete ''.". Fix the problem, then try refreshing this p
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/testcs_dn/article/details/45935015 ...
867 0
The project was not built due to "Could not delete ''.". Fix the problem, then try refreshing this p
Eclipse修改完Java类文件保存之后,项目上出现了错误提示,如图: 但是项目的文件都没有提示错误, 打开Problems窗口会看到具体的错误信息: The project was not built due to “Could not delete ”.
961 0
Yes Small Companies Can – and Should – Build Secure Software
"For large software companies or major corporations such as banks or health care firms with lar...
955 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Large Data Files, Object Stores,and Deep Learning—Lessons Learned While Looking for Extra-Terrestrial Life
立即下载
The Leaky Pipeline Problem: Making your Mark as a Woman in Big Data
立即下载
Protecting-Pentests-Recommendations-For-Performing-More-Secure-Tests
立即下载