방금 CentOS, Apache 및 PHP를 설치했습니다. 내 사이트 http://example.com/myapp/을 방문하면 "금지됨"이라고 표시됩니다. 기본적으로 index.php 파일을로드하지 않습니다.
http://example.com/myapp/index.php를 방문하면 정상적으로 작동합니다.
그 문제를 해결하는 방법을 아십니까?
방금 CentOS, Apache 및 PHP를 설치했습니다. 내 사이트 http://example.com/myapp/을 방문하면 "금지됨"이라고 표시됩니다. 기본적으로 index.php 파일을로드하지 않습니다.
http://example.com/myapp/index.php를 방문하면 정상적으로 작동합니다.
그 문제를 해결하는 방법을 아십니까?
답변:
index.php를 인덱스 파일로 인식하도록 Apache를 구성해야합니다.
이 작업을 수행하는 가장 간단한 방법 ..
웹 루트에 .htaccess 파일을 만듭니다.
줄 추가 ...
DirectoryIndex index.php
다음은 문제에 관한 리소스입니다 ...
http://www.twsc.biz/twsc_hosting_htaccess.php
편집 : 아파치가 .htaccess 파일을 허용하도록 구성되어 있다고 가정합니다. 그렇지 않은 경우 아파치의 구성 파일 (httpd.conf)에서 설정을 수정해야합니다.
.htaccess 파일에 'DirectoryIndex index.php'를 추가하는 동안 작동 할 수 있습니다.
노트:
일반적으로 .htaccess 파일을 사용해서는 안됩니다.
이것은 http://httpd.apache.org/docs/1.3/howto/htaccess.html 에서 인용되었습니다 . 이것은
이전 버전의 아파치를 참조하지만 원칙은 여전히 적용됩니다.
httpd.conf에 다음을 추가하면 (액세스 권한이있는 경우) 더 나은 형식으로 간주되고 서버 오버 헤드가 줄어들고 똑같은 효과가 있습니다.
<Directory /myapp>
DirectoryIndex index.php
</Directory>
추측에 디렉토리 색인이 index.html 또는 일부 변형으로 설정되었다고 말하고 싶습니다.
DirectoryIndex index.html index.php
여전히 index.php보다 index.html 우선 순위를 부여합니다 (유지 보수 페이지를 표시해야하는 경우 편리함).
이 모든 것을 읽고 고치려고 노력한 후 우분투 포럼 ( https://help.ubuntu.com/community/ApacheMySQLPHP ) 에서 간단한 솔루션을 얻었습니다 . 문제는 libapache2-mod-php5 모듈에 있습니다. 이것이 브라우저가 웹 페이지를 표시하지 않고 index.php 파일을 다운로드하는 이유입니다. 다음을 수행하십시오. sudo a2enmod php5가 모듈이 존재하지 않음을 반환하면 문제는 libapache2-mod-php5에 있습니다. 제거 명령을 사용하여 모듈을 제거하십시오 sudo apt-get --purge remove libapache2-mod-php5 그런 다음 다시 설치하십시오 sudo apt-get install libapache2-mod-php5
비슷한 증상이있었습니다. 하지만 내 경우에는 웹 루트 폴더에 빈 index.html 파일이 의도 치 않게 포함되어있는 경우가있었습니다. 내가 명시 적으로 index.php를 요청하지 않았을 때 아파치는 index.php 대신 이것을 제공하고 DirectoryIndex
있었다 mods-available/dir.conf
.
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
즉, 우선 순위 목록에서 'index.html'이 'index.php'앞에 나타납니다. 웹 루트에서 index.html 파일을 제거하면 자연스럽게 문제가 해결되었습니다. 오!
Ubuntu 16.04.4 LTS 및 Apache / 2.4.18에 대한 단계별 및 전체 지침
" sudo -s
"
" cd /etc/apache2/mods-enabled
"
" vi dir.conf
"를 선택하고 index.php를 아래와 같이 DirectoryIndex 바로 뒤에 이동하고 파일을 저장 한 다음 아파치 서버를 다시 시작합니다.
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
" service apache2 restart
"
dir.conf가 표시되지 않으면로드해야합니다 (방법은 Google).
끝난.
이 게시물은 오래되었을 수 있지만 다른 사람에게 도움이 될 수 있도록 게시하고 있습니다. 웹 루트에 .htaccess 파일을 만들고 색인을 변경하지 않는 것이 좋습니다. 단계를 따르는 것이 더 낫다고 느낍니다
아파치 폴더의 conf 폴더로 이동하십시오.
C:\Apache24\conf
이름이 지정된 파일을 엽니 다.
httpd.conf
섹션으로 이동
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
아래와 같이 index.php를 추가하십시오.
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
이런 식으로 index.html과 index.php를 기본 색인으로 선택하지만 index.html 이 * index.php보다 먼저 왔기 때문에 index.html에 우선 순위를 부여 합니다. 즉, 동일한 디렉토리에 index.html과 index.php가 모두 있다는 의미입니다. index.hml 앞에 ** index.php *를 작성하는 것을 제외하고 index.html이 기본 색인으로 사용됩니다.
누군가에게 도움이되기를 바랍니다 ... Happy Coding