Я пытаюсь создать веб-сайт Rails на Bluehost, но у меня проблемы с помощниками путей. Поскольку я не хочу патчить Rails, я пытаюсь решить эту проблему с помощью .htaccess. Вот сценарий:
www.engradado.com
на public_html/engradado
, что указывает на rails_apps/engradado/public
Я переписываю 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]
Вот мой 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
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-адресу?