Я только что установил 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.
Попробуйте создать файл .htaccess со следующим
DirectoryIndex index.php
Изменить: На самом деле, нет ли пакета «php-apache» или чего-то, что вы должны установить с обоими из них?
У меня была такая же проблема с сайтом на нашем веб-сайте с прямым администрированием. я добавил
DirectoryIndex index.php
как пользовательское расширение httd (которое добавляет код в файл httpd
сайта), а сайт затем запускал index.php
по умолчанию.
Для информации: в некотором 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
Перед тем, как попробовать любой из вышеперечисленных методов,
Пожалуйста, попробуйте следующее:
Загрузите страницу, и теперь она отлично работает.
это сработало для меня, когда я столкнулся с этой ошибкой …