Я только что установил CentOS, Apache и PHP. Когда я посещаю мой сайт http://example.com/myapp/, он говорит "запрещено". По умолчанию он не загружает файл index.php.
Когда я нахожусь http://example.com/myapp/index.php, он отлично работает.
Любая идея, как исправить эту проблему?
Apache необходимо настроить для распознавания index.php в качестве файла индекса.
Самый простой способ выполнить это.
Создайте файл .htaccess в своем веб-корне.
Добавьте строку...
DirectoryIndex index.php
Вот ресурс по этому вопросу... http://www.twsc.biz/twsc_hosting_htaccess.php
Изменить: я предполагаю, что apache настроен для разрешения файлов .htaccess. Если это не так, вам придется изменить параметр в файле конфигурации apache (httpd.conf)
При добавлении "DirectoryIndex index.php" в файл .htaccess может работать,
Примечание:
В общем, вы никогда не должны использовать файлы .htaccess
Это цитируется http://httpd.apache.org/docs/1.3/howto/htaccess.html
Хотя это относится к более старой версии apache, я считаю, что принцип все еще применяется.
Добавление следующего в ваш httpd.conf(если у вас есть к нему доступ) считается лучшей формой, приводит к меньшей нагрузке на сервер и имеет тот же эффект:
<Directory /myapp>
DirectoryIndex index.php
</Directory>
Угадаю, я бы сказал, что индекс каталога установлен в index.html или какой-то вариант, попробуйте:
DirectoryIndex index.html index.php
Это все равно даст приоритет index.html над index.php(удобно, если вам нужно выбросить страницу обслуживания)
Это может быть полезно кому-то. вот фрагмент из httpd.conf(окна Apache версии 2.2)
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.html
DirectoryIndex index.php
</IfModule>
теперь это будет искать файл index.html, если не найден, он будет искать index.php.
DirectoryIndex index.html index.php
также работает
У меня была такая же проблема с сайтом на нашем сайте с прямым администрированием. Я добавил
DirectoryIndex index.php
как пользовательское расширение httd (которое добавляет код в файл сайтов httpd
), а сайт затем запускал index.php
по умолчанию.
Попробуйте создать файл .htaccess со следующим
DirectoryIndex index.php
Изменить: На самом деле, нет ли пакета "php-apache" или чего-то, что вы должны установить с ними обоими?
Для справки: в некоторых Apache2 conf вы должны добавить команду DirectoryIndex в mods_enabled/dir.conf(он не находится в apache2.conf)
Прочитав все это и попытавшись исправить это, я получил простое решение на форуме ubuntu (https://help.ubuntu.com/community/ApacheMySQLPHP). Проблема заключается в модуле libapache2-mod-php5. Вот почему браузер загружает файл index.php, а не показывает веб-страницу. Сделайте следующее. Если sudo a2enmod php5 возвращает модуль не существует, то проблема связана с libapache2-mod-php5. Очистить удалить модуль командой sudo apt-get -purge удалить libapache2-mod-php5 Затем установить его снова sudo apt-get install libapache2-mod-php5
Перед тем, как попробовать любой из вышеперечисленных методов,
Пожалуйста, попробуйте следующее:
Загрузите страницу, и теперь она отлично работает.
это сработало для меня, когда я столкнулся с этой ошибкой...