我有一个大问题(即使我的服务器的管理员似乎也有一些难以解决它)。
我使用我的cpanel(11.25.0-STABLE)在rails应用程序上创建一个新的ruby,当访问它的原始uri(带有端口号)时可以正常工作。
为了使uri更加“用户友好”,我创建了一个重写来访问我的RoR应用程序而不显示端口号。
我重写的uri的.htaccess内容
RewriteEngine on
RewriteCond %{HTTP_HOST} ^greendeers.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.greendeers.com$
RewriteRule ^.*$ "http\:\/\/127\.0\.0\.1\:12001%{REQUEST_URI}" [P,QSA,L]
应用程序/控制器/ helloworld_controller.rb
class HelloworldController < ApplicationController
def index
end
end
应用程序/视图/布局/ helloworld.html.erb
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title><%= controller.controller_name %>: <%= controller.action_name %></title>
<%= stylesheet_link_tag 'scaffold' %>
</head>
<body>
<p style="color: green"><%= notice %></p>
<%= yield %>
</body>
</html>
应用程序/视图/的HelloWorld / index.html.erb
<h1>HELLO WORLD</h1>
第一页(由RoR创建的原始页面)可以同时使用uri,但是当访问我的某个控制器时,不会呈现html,而是会显示html代码。
http://www.greendeers.com/helloworld
此页面使用原始uri(与上面相同,端口号:12001)按预期呈现
访问两个uri时,我的日志显示相同的内容:
在2010-07-10 02:53:20处理HelloworldController #index([我的IP地址])[获取]
在布局/ helloworld中渲染模板
渲染helloworld / index
在1ms内完成(查看:1,DB:0)| 200 OK [http://greendeers.com/helloworld]
你有解决方法吗?
抱歉,我目前只能在每个帖子上发布一个链接:/
答案 0 :(得分:0)
这是因为你使用了非常好的.htaccess。
请改用代理系统或乘客。不是你的重写规则
答案 1 :(得分:0)