У меня на компьютере есть локальный экземпляр 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/
, я получу следующий каталог:
Брэндон, спасибо за предложение.Я хочу сохранить корень документа без изменений, я собираюсь изменить псевдоним для перемещения вверх на один каталог, то есть C: / Eclipse_Workspace / , чтобы у меня был доступ для отладки всех моих веб-приложений в рабочей области eclipse.,Эта ссылка также дала хороший совет о возможном Gotcha при добавлении псевдонима.
Последнее, но не менее важное, для тех, кто заинтересован в настройке простой среды разработки PHP, это PDF документ оказался очень ценным ресурсом, обязательно следуйте инструкциям.Я использовал пакетные инструменты «все в одном», представленные на веб-сайте Zend , они в значительной степени поставляются со всем из коробки.