Я только что установил apache 2.2 в Windows и не могу заставить его реагировать на мои изменения. Он продолжает показывать "Это работает!" в файле index.html по умолчанию. Я изменил DocumentRoot, <Document и сохранил index.html в новом месте.
DocumentRoot "C:/PersonalWebsite"
<Directory "C:/PersonalWebsite">
#
# 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 Indexes FollowSymLinks
#
# 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
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
У меня нет конечных косых черт в конце URL-адресов, и я проверил разрешения для каталога и файла, и все в порядке. Я могу изменить содержимое внутри index.html
расположен в C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs
, и я могу просматривать изменения в моем браузере. Так что почему-то где-то это все еще относится к старому пути. Я также перезапустил службу после внесения изменений, и она не вылетает из-за введенного мной URL. Я также убедился, что редактирую правильный файл конфигурации httpd, через start-> programs-> apache-> edit config file
------------РЕДАКТИРОВАТЬ--------------
Хорошо, у меня недостаточно символов, чтобы опубликовать полное объяснение, которое я нашел для решения этой проблемы, поэтому я отправлю его здесь.
Хорошо, поэтому я безуспешно пробовал описанное выше. Затем я попробовал кое-что еще.
start menu->apache->control->restart
, а я просто попытался снова остановить через меню. green-> red
указывая, что он остановился. httpd
файл. Я нажал кнопку ОК, зашел в свой браузер, и все заработало! Так что вопрос в перезагрузке через меню, а не через 'правда' начать сначала? и все это время он не работал, потому что все еще использовал старую httpd
файл? Это проблема Windows - не учетная запись администратора или что-то еще?
Спасибо за предложения!
Я не думаю, что вы переборщили с веб-сайтом по умолчанию, который потребуется для того, чтобы он работал так, как вы описываете. (мой опыт работы с apache в Linux, поэтому вам, возможно, придется перевести принципы)
в основном apache будет где-то иметь файл httpd.conf по умолчанию, обычно в папке установки в conf \ httpd.conf, в нем будут указаны все параметры, такие как DocumentRoot, которые будут использоваться, если не указаны в другом месте.
Я бы начал с добавления следующего в нижней части вашего httpd.conf, чтобы объявить имя VirtualHost, которое будет использоваться для вашего сайта;
NameVirtualHost *:80
<VirtualHost *:80>
ServerName myservername.com
#what is your home page
DirectoryIndex index.html
LogLevel warn
# CustomLog logs/somelogfile.log
# ErrorLog /var/log/httpd/someerror.lgo
DocumentRoot "C:/PersonalWebsite"
<Directory "C:/PersonalWebsite">
#
# 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 Indexes FollowSymLinks
#
# 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
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
</VirtualHost>
и перезагрузите apache.