Назад | Перейти на главную страницу

URL Rewriting и базовые пути стойки

Я пытаюсь создать веб-сайт Rails на Bluehost, но у меня проблемы с помощниками путей. Поскольку я не хочу патчить Rails, я пытаюсь решить эту проблему с помощью .htaccess. Вот сценарий:

  1. Я принимаю www.engradado.com на public_html/engradado, что указывает на rails_apps/engradado/public
  2. Я переписываю www.engradado.com указать на www.engradado.com/engradado, сквозь это public_html/.htaccess файл:

    # BlueHost.com
    # .htaccess main domain to subdirectory redirect
    # Copy and paste the following code into the .htaccess file
    # in the public_html folder of your hosting account
    # make the changes to the file according to the instructions.
    # Do not change this line.
    RewriteEngine on
    # Change example.com to be your main domain.
    RewriteCond %{HTTP_HOST} ^(www.)?engradado.com$
    # Change 'subdirectory' to be the directory you will use for your main domain.
    RewriteCond %{REQUEST_URI} !^/engradado/
    # Don't change these line.
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # Change 'subdirectory' to be the directory you will use for your main domain.
    RewriteRule ^(.*)$ /engradado/$1
    # Change example.com to be your main domain again.
    # Change 'subdirectory' to be the directory you will use for your main domain
    # followed by / then the main file for your site, index.php, index.html, etc.
    RewriteCond %{HTTP_HOST} ^(www.)?engradado.com$
    RewriteRule ^(/)?$ engradado/ [L]
    
  3. Вот мой rails_apps/engradado/public/.htaccess:

    Options -MultiViews
    PassengerResolveSymlinksInDocumentRoot on
    #Set this to whatever environment you'll be running in
    RailsEnv production
    #RackBaseURI /
    #PassengerAppRoot /home2/engradad/rails_apps/engradado
    RackBaseURI /engradado
    SetEnv GEM_HOME /home2/engradad/ruby/gems
    
  4. Всякий раз, когда я вызываю помощника по пути, например root_url или news_path, это предшествует /engradado на путь, поэтому вместо root_url => "http://www.engradado.com/" это печатает root_url => "http://www.engradado.com/engradado/", и news_path(1) => "engradado/news/1" вместо того news_path(1) => "news/1".

Как я могу это решить? /engradado не добавляется к URL-адресу?