2013-02-13 2 views
0

не удается настроить виртуальный хост на URL с подкаталоге ... Мне нужно, чтобы запустить свой проект по адресу так:Apache виртуальный хост URI с реж

http://www.projects.loc/project1/ Это должно имитировать установку на веб-сервер, где адрес будет как

http://www.someServer.com/projects/project1/

мне нужно настроить переадресацию на «/», так оно восходит к www.projects.loc/project1/

в hosts.txt у меня есть:

127.0.0.1  www.projects.loc 

виртуальных доменов включены и HTTPD-vhosts.conf выглядит следующим образом:

NameVirtualHost *:80 

<VirtualHost *:80> 
    DocumentRoot "D:/Projects/Project1/public/"   
    ServerName www.projects.loc/project1/ 
</VirtualHost> 

Что мне не хватает?

EDIT: .htaccess выглядит следующим образом:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php [NC,L] 

приложение работает нормально на чистой области, но я не могу управлять, чтобы сконфигурировать его для работать на domain.com/some_dir/

Редактировать:
решил это!

NameVirtualHost *:80 

    <Directory "D:/Projects"> 
     allow from all 
    </Directory> 

    <VirtualHost *:80> 
     DocumentRoot "D:/Projects"  
     ServerName www.projects.loc/ 

     Alies /project1 /Project1/public/ 
    </VirtualHost> 

Примечания: это минимальная конфигурация подходит только для среды разработки,
проверки принятой ansler от @ М-г для получения полной информации для производства Evironment.

+1

Что Перезапись вы пробовали? – 244an

ответ

1

Возможно, вы уже решили этот вопрос. Во всяком случае, я сегодня смотрел подобную вещь, поэтому я задокументировать решение здесь:

Вы не хотите писать слэш в ServerName

ServerName www.projects.loc/project1/

Если только есть один проект, названный «project1», вы можете легко получить работу с «ServerPath», конфигурация ВХост будет выглядеть следующим образом:

<VirtualHost *:80> 
ServerName projects.loc 
ServerAlias www.projects.loc 
ServerPath /project1/ 
DocumentRoot /PATH/public_html 
ErrorLog /PATH/error_log 
CustomLog /PATH/access_log combined 
DirectoryIndex index.html index.htm index.php index.php4 index.php5 
<Directory /PATH/public_html> 
Options -Indexes +IncludesNOEXEC +FollowSymLinks 
allow from all 
</Directory> 
</VirtualHost> 

Через ServerPath вы сможете смонтировать каталог для projects.loc/project1

Во всяком случае, при условии, у вас есть несколько проектов (project1, project2), которые вы хотите связать с project.loc/project1, projects.loc/project2 и т. д., используя «Alias». Файл конфигурации ВХост должен выглядеть следующим образом:

<VirtualHost *:80> 
ServerName projects.loc 
ServerAlias www.projects.loc 
DocumentRoot /PATH/public_html 
ErrorLog /PATH/error_log 
CustomLog /PATH/access_log combined 
DirectoryIndex index.html index.htm index.php index.php4 index.php5 
<Directory /PATH/public_html> 
Options -Indexes +IncludesNOEXEC +FollowSymLinks 
allow from all 
</Directory> 

Alias /project1 "/PATH/public_html/project1" 
<Directory "/PATH/public_html/project1"> 
DirectoryIndex index.html index.htm index.php index.php4 index.php5 
Options -Indexes +IncludesNOEXEC +FollowSymLinks 
allow from all 
</Directory> 

Alias /project2 "/PATH/public_html/project2" 
<Directory "/PATH/public_html/project2"> 
DirectoryIndex index.html index.htm index.php index.php4 index.php5 
Options -Indexes +IncludesNOEXEC +FollowSymLinks 
allow from all 
</Directory> 
</VirtualHost> 

Ваше приложение, лежащих в папке/PATH/public_html/project1 затем будет доступен в projects.loc/project1, приложение закладывая папку/PATH/public_html/project2 будет доступен в проектах.loc/project2 и т. д.

Я предпочел бы использовать разные поддомены для разных приложений. Это имеет преимущество иметь собственные файлы конфигурации для каждого узла поддомена, что облегчает обработку ошибок и доступа к журналу доступа.Используя псевдоним, настройка различных журналов ошибок и доступа будет сложнее, если вы хотите иметь их для каждого приложения.

Дальнейшее чтение:
Относительно Alias: http://httpd.apache.org/docs/current/mod/mod_alias.html
Относительно ServerPath: http://httpd.apache.org/docs/2.2/vhosts/examples.html#serverpath

+0

Я решил это сейчас, и когда я просмотрю ваш анслер .. это правильно, но подробно .. так что я не получил его в первый раз :) –

Смежные вопросы