Windows XP: добавить каталог сайта в конфигурацию Apache - PullRequest
4 голосов
/ 02 июня 2011

У меня на компьютере есть локальный экземпляр Apache для целей разработки, я пытаюсь добавить каталог сайта в файл Apache httpconf, который содержит несколько примеров веб-приложений, которые я пытаюсь отлаживать с помощью Eclipse.Каталог, который я пытаюсь добавить, выглядит следующим образом:

C: \ Eclipse_Workspace \ dummyWeb

После добавления пути я перезапустил Apache и попытался ввести URLкак:

http://localhost/Eclipse_Workspace/dummyWeb/enterGreeting.php

Но я получаю страницу ошибки 404.Я не уверен, что мне нужно сделать, чтобы страница открылась правильно.Я новичок в настройке сервера Apache и использую ApacheConf Lite в качестве редактора настроек сервера на основе графического интерфейса.Новый каталог, который я добавил в файл httpconf, выглядит следующим образом:

<Directory "C:\Eclipse_Workspace\dummyWeb">
  Options All
  Allow from All
  Order Allow,Deny
  AllowOverride None
</Directory>

Я также попытался сделать последний слеш прямой косой чертой, как корневой каталог по умолчанию:

<Directory "C:\Eclipse_Workspace/dummyWeb">
  Options All
  Allow from All
  Order Allow,Deny
  AllowOverride None
</Directory>

По сравнению скорень по умолчанию:

<Directory "C:\Program Files\Zend\Apache2/htdocs">
  # 
  # Possible values for the Options directive are "None", "All",
  # or any combination of:
  # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
  # 
  # Note that "MultiViews" must be named *explicitly* --- "Options All"
  # doesn't give it to you.
  # 
  # The Options directive is both complicated and important.  Please see
  # http://httpd.apache.org/docs/2.2/mod/core.html#options
  # for more information.
  Options FollowSymLinks Indexes
  # 
  # AllowOverride controls what directives may be placed in .htaccess files.
  # It can be "All", "None", or any combination of the keywords:
  # Options FileInfo AuthConfig Limit
  Allow from all
  # 
  # Controls who can get stuff from this server.
  Order allow,deny
  AllowOverride None
  # 
  # Note that from this point forward you must specifically allow
  # particular features to be enabled - so if something's not working as
  # you might expect, make sure that you have specifically enabled it
  # below.
  # 
  # 
  # This should be changed to whatever you set DocumentRoot to.
</Directory>

Но я все равно получаю 404, что мне не хватает?Любая помощь приветствуется.

Некоторые другие детали, я использую Zend Server Community Edition для веб-разработки на PHP и Eclipse с PDT.Моя цель - иметь возможность отлаживать веб-приложения PHP через Eclipse.

ОБНОВЛЕНИЕ:

Похоже, что добавление псевдонима может быть тем, что я ищу.Не уверен, как они работают, хотя, в настоящее время читая документацию Apache.

ОБНОВЛЕНИЕ 2:

Бинго!Похоже, добавление псевдонима добилось цели.Соответствующие строки конфигурации выглядят следующим образом:

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
DocumentRoot "C:\Program Files\Zend\Apache2/htdocs"

.

.

.

.

<IfModule alias_module>
  # 
  # Redirect: Allows you to tell clients about documents that used to
  # exist in your server's namespace, but do not anymore. The client
  # will make a new request for the document at its new location.
  # Example:
  # Redirect permanent /foo http://www.example.com/bar
  # 
  # Alias: Maps web paths into filesystem paths and is used to
  # access content that does not live under the DocumentRoot.
  # Example:
  Alias /webpath "C:/Eclipse_Workspace/dummyWeb/"
  <Directory "C:/Eclipse_Workspace/dummyWeb/">
  Options Indexes FollowSymLinks MultiViews ExecCGI
  AllowOverride All
  Order allow,deny
  Allow from all
  </Directory>
  # 
  # If you include a trailing / on /webpath then the server will
  # require it to be present in the URL.  You will also likely
  # need to provide a <Directory> section to allow access to
  # the filesystem path.
  # 
  # ScriptAlias: This controls which directories contain server scripts.
  # ScriptAliases are essentially the same as Aliases, except that
  # documents in the target directory are treated as applications and
  # run by the server when requested rather than as documents sent to the
  # client.  The same rules about trailing "/" apply to ScriptAlias
  # directives as to Alias.
  ScriptAlias /cgi-bin/ "C:\Program Files\Zend\Apache2/cgi-bin/"
</IfModule>

Поэтому, если я укажу следующий URL: http://localhost/webpath/, я получу следующий каталог:

enter image description here

Брэндон, спасибо за предложение.Я хочу сохранить корень документа без изменений, я собираюсь изменить псевдоним для перемещения вверх на один каталог, то есть C: / Eclipse_Workspace / , чтобы у меня был доступ для отладки всех моих веб-приложений в рабочей области eclipse.,Эта ссылка также дала хороший совет о возможном Gotcha при добавлении псевдонима.

Последнее, но не менее важное, для тех, кто заинтересован в настройке простой среды разработки PHP, это PDF документ оказался очень ценным ресурсом, обязательно следуйте инструкциям.Я использовал пакетные инструменты «все в одном», представленные на веб-сайте Zend , они в значительной степени поставляются со всем из коробки.

1 Ответ

1 голос
/ 02 июня 2011

Я посмотрел на свой собственный файл apache. Мне кажется, вам не хватает одного места для изменения корня документа:

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "C:\Eclipse_Workspace\dummyWeb"

Я полагаю, что речь идет о строке 210 в файле httpd.conf, я использую ваш каталог здесь.

...