0

我的 Ruby on Rails 项目位于 justhost 服务器上。当我在那里创建 ruby​​ 项目时,它默认在文件夹 rails_apps 中创建它。
对于我的项目,我创建了符号链接。
ln -s ~/rails_apps/webworth/public ~/public_html/webworth
ln -s ~/rails_apps/webworth ~/public_html/webworth_app [此符号链接的目的仅用于通过 ftp 客户端浏览文件]

我在 ~/rails_apps/webworth/public 目录中创建了 .htaccess 文件。下面是 .htaccess 代码

Options -MultiViews  
PassengerResolveSymlinksInDocumentRoot on  
RailsEnv development  
RailsBaseURI /webworth  
SetEnv GEM_HOME /home5/worthgur/ruby/gems  

和 ~/public_html 中的一个 .htaccess 文件。下面是代码:

# Use PHP5 Single php.ini as default  
AddHandler application/x-httpd-php5s .php  

RewriteEngine on  
Options +SymLinksIfOwnerMatch  
RewriteBase /  

RewriteCond %{HTTP_HOST} ^(www\.)?webworth.com [NC]  
RewriteCond %{REQUEST_URI} !webworth/ [NC]  
RewriteRule ^(.*)$ "webworth\/$1" [L]

除了一个问题外,这些 .htaccess 文件结构一切正常。额外的文本附加到我的项目中的所有 url,即由 routes.rb 文件生成的所有链接的“webworth”。我想从所有 URL 中删除这个额外的文本“webworth”。

Now urls are generating for example in this manner.
http://webworth.com/webworth/tags/smartphones
while it should be http://webworth.com/tags/smartphones.

这个额外的文本,即“webworth”是之前为必须访问的文件夹添加的,因为它不在站点的文档根目录中,并且由于这个额外的文本,额外的文本附加到由 routes.rb 文件生成的所有 URL ~/rails_apps/webworth/public/.htaccess 文件 [原因:RailsBaseURI /webworth]

我想这可以通过在 ~/rails_apps/webworth/public/.htaccess 文件中将RailsBaseURI /webworth更改为 RailsBaseURI /来解决。
我这样做了,我确信我无法在 ~/public_html/.htaccess 文件中编写正确的命令,以便我可以将流量从 public_html 重定向到我网站的符号链接(webworth)。我使用了很多选项,但无法弄清楚它是如何工作的。请帮助正确编写 ~/public_html/.htaccess 文件以将流量从 public_html 文件夹重定向到我的符号链接(webworth)。
Justhost 建议了这个链接:How to host the Primary Domain from a subfolder。但我仍然无法弄清楚这个问题。谢谢

4

1 回答 1

0

我在 justhost 上遇到了同样的问题,我在没有添加任何重定向的情况下解决了它。我将我的 rails 应用程序公用文件夹设置为主站点公用文件夹。

  • 我将原来的“public_html”重命名为“public_html_backup”,以防万一。

  • 添加了符号链接ln -s ~/myRailsApp/public ~/public_html

  • 在我的 htaccess 中,我更改RailsBaseURI /myRailsAppRailsBaseURI /,导致:

<IfModule mod_passenger.c> Options -MultiViews PassengerResolveSymlinksInDocumentRoot on RailsEnv production RackBaseURI / SetEnv GEM_HOME /yourUserPath.../ruby/gems </IfModule>

我希望这可以帮助你。干杯

于 2014-04-13T10:51:34.713 回答