Перенаправить поддомен в подкаталог - PullRequest
1 голос
/ 16 февраля 2011

Я уже прочитал все темы здесь и в Google о перенаправлении, но я программист, и я не могу его запустить.

У меня установлен Apache 2.2. Корнем сети является C: \ Apache \ htdocs. Мой сетевой администратор установил мне локальный домен, который указывает на сервер с Apache. Домен myPhpApp.ourcompany.local. И этот поддомен работает, он показывает страницу Apache "Это работает".

Теперь у меня есть сайт в C: \ Apache \ htdocs \ myPhpApp, и я хочу, чтобы Apache перенаправил myPhpApp.ourcompany.local в этот каталог. URL-адреса должны оставаться при просмотре веб-сайта всегда как myPhpApp.ourcompany.local, например: myPhpApp.ourcompany.local / index.php, myPhpApp.ourcompany.local / data.php и так далее.

Я не знаю, как этого добиться? Мод-перезапись, виртуальные хосты, комбинация обоих? У меня есть это, и это не работает:

<VirtualHost myphpapp.ourcompany.local>
DocumentRoot /myphpapp/
ServerName www.example1.com

RewriteEngine on
RewriteRule   ^/$  /myphpapp/  [R]

</VirtualHost>

В результате я получаю:

Запрещено

У вас нет разрешения на доступ / myphpapp / на этом сервере. Кто-нибудь может помочь?

EDIT Возможно я забыл упомянуть: я не помещаю это в корень www, который является C: / Apache / htdocs, потому что у меня есть больше приложений там. у меня есть 3 каталога в thdocs: myphpapp, myoldapp, mytestapp. В качестве цели я хочу иметь 3 субдомена, которые указывают на каждый каталог.

Ответы [ 3 ]

0 голосов
/ 16 февраля 2011

Корень документа в вашей конфигурации apache должен указывать на каталог, в котором у вас есть приложение, в том, что вы указали в своем вопросе, оно должно быть

DocumentRoot C:\Apache\htdocs\myPhpApp

, и это все.перезагрузите или перезагрузите ваш apache и протестируйте.

0 голосов
/ 16 февраля 2011

Я думаю, что это будет комбинация ответов Николы и Кроманта:

<VirtualHost *:80>
    DocumentRoot "C:/Apache/htdocs/myPhpApp"
    ServerName myPhpApp.ourcompany.local
</VirtualHost>
0 голосов
/ 16 февраля 2011

Прежде всего, вам не нужно правило перезаписи для такой простой вещи, как эта. Я полагаю, вам нужно следовать определению VirtualHost

<VirtualHost *>

    DocumentRoot /myphpapp/
    ServerName myphpapp.ourcompany.local

</VirtualHost>

Часть "VirtualHost *" сообщает Apache, какой интерфейс и, при необходимости, порт для прослушивания. ServerName сообщает, какое имя домена будет использоваться для идентификации этого виртуального хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...