source

디폴트로는 index.dload는 로드되지 않음

gigabyte 2022. 10. 2. 22:06
반응형

디폴트로는 index.dload는 로드되지 않음

CentOS, Apache, PHP를 방금 설치했습니다.제 사이트 http://example.com/myapp/,에 접속하면 "filename"이라고 되어 있습니다.기본적으로는 index.php 파일은 로드되지 않습니다.

http://example.com/myapp/index.php,에 접속하면 정상적으로 동작합니다.

그 문제를 어떻게 해결할지 알고 있나요?

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

가장 간단한 방법은..

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

  2. 선을 추가합니다...

Directory인덱스.php

~하다
http://www.twsc.biz/twsc_hosting_htaccess.phphttpwww.twsc.biz/.php

편집: Apache가 .htaccess 파일을 허용하도록 구성되어 있다고 가정합니다.그렇지 않으면 apache 구성 파일(httpd.conf)의 설정을 변경해야 합니다.

'디렉토리 추가 중.htaccess 파일에 대한 인덱스 index.php'가 작동할 수 있습니다.

주의:

일반적으로 .htaccess 파일은 사용하지 마십시오.

이것은 http://httpd.apache.org/docs/1.3/howto/htaccess.html 에서 인용한 것입니다.
이것은 아파치의 오래된 버전을 가리키지만, 저는 이 원칙이 여전히 적용된다고 생각합니다.

httpd.conf 에 다음의 것을 추가하는 것(접근권이 있는 경우)은, 보다 적절한 형식으로 간주되어 서버의 오버헤드가 경감되어 같은 효과가 있습니다.

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

편집: 편집 시 v1.3 문서는 다운됩니다.v2.4 설명서(편집 시점의 최신 버전)도 이와 유사한 입장을 가지고 있습니다.

in반 of의 ,.htaccess파일은 가능한 한 피해야 합니다. 것을 .htaccess메인 서버 컨피규레이션파일의 섹션에서도 효율적으로 작성할 수 있습니다.

디렉토리 인덱스는 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.disc 파일을 찾습니다.

이 게시물은 오래된 것일 수 있지만 다른 사람에게 도움이 될 수 있으므로 웹 루트에 .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이 기본 인덱스로 사용됩니다.

그게 누군가에게 도움이 됐으면 좋겠는데...해피 코딩

다음과 같은 .htaccess 파일을 만들어 보십시오.

DirectoryIndex index.php

편집: 사실 'php-apache' 패키지나 둘 다 설치해야 하는 패키지는 없습니까?

이 모든 것을 읽고 수정하려고 한 결과, 저는 ubuntu 포럼(https://help.ubuntu.com/community/ApacheMySQLPHP))에서 간단한 해결책을 얻었습니다.libapache2-mod-php5 모듈에 문제가 있습니다.따라서 브라우저는 웹 페이지를 표시하지 않고 index.php 파일을 다운로드합니다.다음을 수행합니다.sudo a2enmod php5 returns 모듈이 존재하지 않으면 libapache2-mod-php5에 문제가 있습니다.sudo apt-get --purge remove libapache2-mod-php5 명령을 사용하여 모듈을 제거한 후 다시 설치합니다. sudo apt-get install libapache2-mod-php5

저도 비슷한 증상이 있었어요.그런데 제 경우 웹 루트 폴더에 빈 index.html 파일이 있는 것도 의도치 않게 제 잘못입니다.Apache는 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 파일을 삭제하면 문제가 자연스럽게 해결되었습니다.아뿔싸!

이거 참 잘 먹히네!

첫번째

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

그 후부터

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

로.

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

언급URL : https://stackoverflow.com/questions/2384423/index-php-not-loading-by-default

반응형