2015-03-26 2 views
0

У меня проблема с Rails + Passenger + Apache + Alias. я попытался запустить приложение рельсов над Alias, и я объявил этот VirtualHostRails + Passenger + Apache + Alias ​​

<VirtualHost *:80> 
    Alias /smart_data /home/pablo/Proyectos/Net-Works/SmartData/smart_data/public 
    <Location /smart_data> 
     PassengerBaseURI /smart_data 
     PassengerAppRoot /home/pablo/Proyectos/Net-Works/SmartData/smart_data 
    </Location> 
    <Directory /home/pablo/Proyectos/Net-Works/SmartData/smart_data/public> 
     Allow from all 
     Options -MultiViews 
     Require all granted 
    </Directory> 
</VirtualHost> 

Он работает нормально, но мое приложение прочитать файл из папки/Public/данных/и апача попробуйте прочитать этот файл из/вара/WWW/HTML/данных.

Может ли кто-нибудь мне помочь ?.

ответ

0

Вам необходимо определить DocumentRoot в тегах VirtualHost.

<VirtualHost *:80> 
    # Add this line: 
    DocumentRoot /home/pablo/Proyectos/Net-Works/SmartData/smart_data/public 
</VirtualHost> 

Поскольку ни DocumentRoot не определен там, это будет с установленного по умолчанию (определяется где-то в том же файле конфигурации, но не вложенными в любом VirtualHost тега)

+0

Когда я добавить, что линия не работает, но при этом добавляется ** DocumentRoot/home/pablo/Proyectos/Net-Works/SmartData/smart_data/public ** , проблема в том, что все работает на localhost и не только на localhost/smart_data, поэтому, когда я получаю доступ к другим например, как localhost/app2, Rails говорит «нет», потому что этот маршрут не существует. –

+0

Я добавил «публичный», как вы указали. Попробуйте вставить директиву DocumentRoot внутри любого местоположения или каталога –

+0

Есть ли еще один блок для app2? Имеет ли он свою собственную директиву DocumentRoot? –