Сделать XAMPP / Apache служить файл вне HTDOCS

голоса
263

Можно ли настроить XAMPP обслуживать до файла вне htdocsкаталога?

Например, скажем, у меня есть файл, расположенный в следующем:

C:\projects\transitCalculator\trunk\TransitCalculator.php

и мои XAMPP файлы , как правило , подаются с:

C:\xampp\htdocs\

(потому что конфигурация по умолчанию) Есть ли какой - нибудь способ сделать Apache распознавать и обслуживать свой TransitCalculator.phpфайл , не перемещая его под htdocs? Предпочтительно я хотел Apache обслуживать до / иметь доступ ко всему содержимому каталога проектов, и я не хочу , чтобы переместить каталог проектов под htdocs.

Редактирование: редактировать добавить Apache в заголовок вопроса, чтобы сделать Q / A более «поиск»

Задан 04/08/2008 в 17:54
источник пользователем
На других языках...                            


6 ответов

голоса
14

Вы можете установить Apache обслуживать страницы из любого места с какими-либо ограничениями, но это обычно распространяется в более безопасной форме.

Редактирование файлов Apache (http.conf является одним из наиболее распространенных имен) позволит вам установить любую папку, чтобы он появился в вашем вебсервер.

РЕДАКТИРОВАТЬ:

псевдоним MyApp C: \ MyApp \

Я отредактировал мой ответ включить формат для создания псевдонима в файле http.conf, который является своим родом как ярлык в окнах или линк под UN * X, где Apache «делает вид» папка в корневой директории. Это, вероятно, будет более полезным для вас в долгосрочной перспективе.

Ответил 04/08/2008 в 18:00
источник пользователем

голоса
90

Вы можете переместить его путем редактирования DocumentRoot настройки в XAMPP \ Apache \ конф \ httpd.conf.

Он должен быть в настоящее время:

C: / XAMPP / HTDOCS

Измените его на:

C: / проекты / transitCalculator / багажник

Ответил 04/08/2008 в 18:00
источник пользователем

голоса
324

Хорошо, за pix0r «s, Sparks » и Дэйв ответы «ы это выглядит как есть три способа сделать это:


Виртуальные хосты

  1. Open C: \ XAMPP \ Apache \ конф \ экстра \ HTTPD-vhosts.conf.
  2. Un-строка комментарий 19 ( NameVirtualHost *:80).
  3. Добавьте свой виртуальный хост (~ линия 36):

    <VirtualHost *:80>
        DocumentRoot C:\Projects\transitCalculator\trunk
        ServerName transitcalculator.localhost
        <Directory C:\Projects\transitCalculator\trunk>
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
    
  4. Откройте файл хостов (C: \ Windows \ System32 \ Drivers \ Etc \ хостов).

  5. Добавить

    127.0.0.1 transitcalculator.localhost #transitCalculator
    

    до конца файла (перед Spybot - Search & Destroy вещи, если у вас есть, что он установлен).

  6. Сохранить (Вы, возможно, придется сохранить его на рабочем столе, изменить разрешения на старый файл хостов (щелкните правой кнопкой мыши> свойства), и скопировать новый в каталог по старым (или переименовать старый), если вы используете Vista, и есть проблемы).
  7. Перезапустите Apache.

Теперь вы можете получить доступ к этому каталогу , перейдя по ссылке HTTP: //transitcalculator.localhost/ .


Сделать Алиас

  1. Начиная ~ линии 200 вашего http.confфайла, скопируйте все между <Directory "C:/xampp/htdocs">и </Directory>(~ строка 232) и вставить его непосредственно ниже с C:/xampp/htdocsзаменен на нужный каталог (в данном случае C:/Projects) , чтобы дать вашему серверу необходимые разрешения для нового каталога.

  2. Найдите <IfModule alias_module></IfModule>раздел (~ строка 300) и добавить

    Alias /transitCalculator "C:/Projects/transitCalculator/trunk"
    

    (или что - то имеет отношение к вашим желаниям) ниже Aliasкомментарий блока, внутри тегов модуля.


Изменение корня документа

  1. Редактировать ~ линии 176 в C: \ XAMPP \ Apache \ конф \ httpd.conf; изменить DocumentRoot "C:/xampp/htdocs"на #DocumentRoot "C:/Projects"(или что вы хотите).

  2. Редактировать ~ линии 203 , чтобы соответствовать вашему новому месту (в данном случае C:/Projects).


Заметки:

  • Вы должны использовать косую черту «/» вместо обратный косую черту «\».
  • Не включайте замыкающий «/» в конце.
  • перезагрузить сервер .
Ответил 04/08/2008 в 18:05
источник пользователем

голоса
49

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

httpd.conf (. или экстра \ HTTPD-vhosts.conf относительно httpd.conf слеш «\» может привести не работать):

NameVirtualHost *:80
# ...
<VirtualHost *:80>  
    DocumentRoot C:\projects\transitCalculator\trunk\
    ServerName transitcalculator.localhost
    <Directory C:\projects\transitCalculator\trunk\>  
        Order allow,deny  
        Allow from all  
    </Directory>
</VirtualHost> 

HOSTS файл (C: \ WINDOWS \ system32 \ Drivers \ Etc \ хостов обычно):

# localhost entries
127.0.0.1 localhost transitcalculator.localhost

Теперь перезапустите XAMPP , и вы должны быть в состоянии получить доступ к HTTP: //transitcalculator.localhost/ и он будет карту прямо в этот каталог.

Это может быть полезно, если вы пытаетесь воспроизвести производственную среду, в которой вы разрабатываете сайт, который будет сидеть на корень доменного имени. Вы можете, например, указывают на файлы с абсолютными путями, которые будут перенесены на сервер:

<img src="/images/logo.png" alt="My Logo" />

в то время как в среде, используя псевдонимы или подкаталоги, вам нужно следить именно там, где директория «изображения» был относительно текущего файла.

Ответил 05/08/2008 в 16:30
источник пользователем

голоса
4

Ни одно из этих решений легко работал. Вот самое простое решение, чтобы позволить Apache 2 для размещения веб-сайтов за пределами HTDOCS:

Под директивой «DocumentRoot» в httpd.conf, вы должны увидеть блок каталога. Заменить этот каталог блок с:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Allow from all
</Directory> 

ПОМНИТЕ не использовать эту конфигурацию в реальной среде

Ответил 26/01/2009 в 16:11
источник пользователем

голоса
8

В качестве примечания, если вы пытаетесь получить XAMPP использовать сетевой диск в качестве корневого документа вы должны использовать пути UNC в httpd.conf. XAMPP не распознает подключенные сетевые диски.

Например, следующий не будет работать, DocumentRoot «X: / Webroot»

Но это будет, DocumentRoot «//192.168.10.100/webroot» (обратите внимание на слеш, а не обратная косую черту)

Ответил 28/01/2011 в 04:04
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more