index.php가 기본적으로로드되지 않음


답변:


153

index.php를 인덱스 파일로 인식하도록 Apache를 구성해야합니다.

이 작업을 수행하는 가장 간단한 방법 ..

  1. 웹 루트에 .htaccess 파일을 만듭니다.

  2. 줄 추가 ...

DirectoryIndex index.php

다음은 문제에 관한 리소스입니다 ...
http://www.twsc.biz/twsc_hosting_htaccess.php

편집 : 아파치가 .htaccess 파일을 허용하도록 구성되어 있다고 가정합니다. 그렇지 않은 경우 아파치의 구성 파일 (httpd.conf)에서 설정을 수정해야합니다.


4
아마도 아파치가로드하는 php.conf 파일에있을 것입니다.
staticsan 2010 년

나는 당신이 php.ini를 의미한다고 생각합니다. 그럼에도 불구하고 그의 아파치는 index.php를 디렉토리 색인 파일로 인식하지 않습니다. PHP 파일 처리가 또 다른 아파치 구성 문제인지 여부.
John Himmelman

1
아파치를 다시 시작하는 것을 잊지 마세요 !! 내가 한 것처럼! : /
Navid Einackchi

102

.htaccess 파일에 'DirectoryIndex index.php'를 추가하는 동안 작동 할 수 있습니다.

노트:

일반적으로 .htaccess 파일을 사용해서는 안됩니다.

이것은 http://httpd.apache.org/docs/1.3/howto/htaccess.html 에서 인용되었습니다 . 이것은
이전 버전의 아파치를 참조하지만 원칙은 여전히 ​​적용됩니다.

httpd.conf에 다음을 추가하면 (액세스 권한이있는 경우) 더 나은 형식으로 간주되고 서버 오버 헤드가 줄어들고 똑같은 효과가 있습니다.

<Directory /myapp>
DirectoryIndex index.php
</Directory>

4
해당 파일에 액세스 할 수있는 경우에 그 모든 벌금과 멋쟁이입니다
헤이든 Thring

1
+1. httpd.conf에 대한 액세스 권한이없는 경우 선호되는 방법입니다.
Matthew Johnson

HTTPS를 사용하는 경우 default-ssl 구성 파일에 이것을 추가하는 것도 괜찮다고 생각합니다.
Alex W

44

추측에 디렉토리 색인이 index.html 또는 일부 변형으로 설정되었다고 말하고 싶습니다.

DirectoryIndex index.html index.php

여전히 index.php보다 index.html 우선 순위를 부여합니다 (유지 보수 페이지를 표시해야하는 경우 편리함).


내 것은 이와 같이 보이지만 불행히도 그것을 실행하는 대신 index.php를 다운로드하고 있습니다.
Webnet

이 PHP [읽기 때문에 @Webnet는 당신은 PHP에 입력하고 LoadModules 교환을 고려해야 stackoverflow.com/questions/5121495/...
Merey Nurlan

15

이것은 누군가에게 도움이 될 수 있습니다. 다음은 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를 찾습니다.


3

다음을 사용하여 .htaccess 파일을 만들어보십시오.

DirectoryIndex index.php

편집 : 사실, 'php-apache'패키지 또는 두 가지 모두와 함께 설치 해야하는 것이 있습니까?


3

직접 관리 호스팅 사이트의 사이트와 동일한 문제가 발생했습니다. 나는 추가했다

DirectoryIndex index.php

사용자 지정 httd 확장 (사이트 httpd파일에 코드 추가 )으로 지정한 다음 사이트는 index.php기본적으로 를 실행합니다 .


2

나에게도 같은 문제입니다. 내 해결책은 mod_dir이 활성화되지 않았고 내 VirtualHost 파일에서 지시문을 읽을 때 apache2가 오류를 발생시키지 않았다는 것입니다.

DirectoryIndex index.html

명령 사용 :

sudo a2enmod dir
sudo sudo service apache2 restart

문제를 해결했습니다.


1
내 생각 엔 a2enmod?
TR_SLimey

1

정보 : 일부 Apache2 conf에서는 mods_enabled / dir.conf에 DirectoryIndex 명령을 추가해야합니다 (apache2.conf에는 없음).


1

이 모든 것을 읽고 고치려고 노력한 후 우분투 포럼 ( 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


1

비슷한 증상이있었습니다. 하지만 내 경우에는 웹 루트 폴더에 빈 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 파일을 제거하면 자연스럽게 문제가 해결되었습니다. 오!


1

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).

끝난.


1

이 게시물은 오래되었을 수 있지만 다른 사람에게 도움이 될 수 있도록 게시하고 있습니다. 웹 루트에 .htaccess 파일을 만들고 색인을 변경하지 않는 것이 좋습니다. 단계를 따르는 것이 더 낫다고 느낍니다

  1. 아파치 폴더의 conf 폴더로 이동하십시오.

    C:\Apache24\conf

  2. 이름이 지정된 파일을 엽니 다.

    httpd.conf

  3. 섹션으로 이동

    <IfModule dir_module>
       DirectoryIndex index.html 
    
     </IfModule>
  4. 아래와 같이 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


1

이것은 매력처럼 작동합니다!

먼저

<IfModule dir_module>
    DirectoryIndex index.html
     DirectoryIndex index.php
</IfModule>

그 후

<Files ".ht*">
    Require all denied
</Files>

 <Files ".ht*">
    Require all granted
</Files>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.