.htaccess重定向到乘客部署的Ruby应用程序的子目录

.htaccess重定向到乘客部署的Ruby应用程序的子目录,ruby,.htaccess,redirect,passenger,Ruby,.htaccess,Redirect,Passenger,我的RubyonRails项目位于justhost服务器上。当我在那里创建ruby项目时,默认情况下,它会在rails\u apps文件夹中创建此项目。 对于我的项目,我已经创建了符号链接。 ln-s~/rails\u apps/webworth/public~/public\u html/webworth 及 ln-s~/rails\u apps/webworth~/public\u html/webworth\u app[此符号链接仅用于通过ftp客户端浏览文件] 我在~/rails\u a

我的RubyonRails项目位于justhost服务器上。当我在那里创建ruby项目时,默认情况下,它会在rails\u apps文件夹中创建此项目。
对于我的项目,我已经创建了符号链接。
ln-s~/rails\u apps/webworth/public~/public\u html/webworth
ln-s~/rails\u apps/webworth~/public\u html/webworth\u app[此符号链接仅用于通过ftp客户端浏览文件]

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

Options -MultiViews  
PassengerResolveSymlinksInDocumentRoot on  
RailsEnv development  
RailsBaseURI /webworth  
SetEnv GEM_HOME /home5/worthgur/ruby/gems  
和一个~/public\u 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”)是先前为必须访问的文件夹添加的,因为它不在站点的文档根目录中,并且由于此额外文本,额外文本通过~/rails\u apps/webworth/public/.htaccess文件添加到routes.rb文件生成的所有URL[原因:RailsBaseURI/webworth]

我想这可以通过在~/rails\u apps/webworth/public/.htaccess文件中将RailsBaseURI/webworth更改为RailsBaseURI/来解决 我这样做了,我确信我无法在~/public\u html/.htaccess文件中编写正确的命令,以便将来自public\u html的流量重定向到我的站点的符号链接(webworth)。我使用了许多选项,但不知道它将如何工作。请帮助正确写入~/public\u html/.htaccess文件,将来自public\u html文件夹的流量重定向到我的符号链接(webworth)。

Justhost建议使用此链接:。但我仍然无法理解这个问题。谢谢

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

  • 为了以防万一,我将原来的“public\u html”重命名为“public\u html\u backup”

  • 添加了一个符号链接
    ln-s~/myRailsApp/public~/public\u html

  • 在我的htaccess中,我将
    RailsBaseURI/myRailsApp
    更改为
    RailsBaseURI/
    ,导致:


选项-多视图
PassengerResolveSymlinksInDocumentRoot打开
RailsEnv生产
RackBaseURI/
SetEnv GEM_HOME/yourUserPath…/ruby/gems

我希望这能帮助你。
干杯

这难道不妨碍您拥有子域和测试环境,否则这些子域和测试环境将在public_html文件夹中具有符号链接吗?