.png)
내 로컬 서버에서 Apache 2.4.2를 실행하고 있습니다. 내 웹 사이트의 .htaccess
파일은 다음과 같습니다.
DirectoryIndex home.php
Options -Indexes
ErrorDocument 404 /404.php
이는 브라우저에 존재하지 않는 파일에 액세스하려고 할 때 HTTP 404 페이지를 표시하는 데 효과적이지만 다음 구문을 사용하여 기존 파일에 액세스할 때는 오류 페이지를 표시하지 않습니다.
http://localhost/<FileName>.php/<AdditionalCharacters>
예를 들어 로 이동하면 home.php/xyz
페이지 home.php
가 로드되지만 HTML의 모든 관련 링크가 끊어집니다. home.php
내 서버에 디렉토리가 없습니다 ! 무슨 일이야?
.htaccess
이 동작을 중지하고 대신 HTTP 404 오류를 발생시키기 위해 내 파일에 추가할 수 있는 지시문이나 규칙이 있습니까 ?
답변1
이것은 "path_info"라는 기능이며 일반적으로 단일 CGI 스크립트에서 전체 웹사이트를 실행하는 데 사용됩니다(mod_rewrite와 같은 더 나은 대안을 사용할 수 없는 경우).
URL로 인해 CGI 스크립트가 디렉토리로 처리되면 Apache는 해당 스크립트를 정상적으로 실행하지만 PATH_INFO
환경 변수에 추가 경로 구성 요소를 제공합니다. 많은 위키 엔진이 이 기능을 사용합니다. 예를 들어 다음과 같이 액세스할 수 있습니다.https://wiki.archlinux.org/index.php/Beginners%27_Guide/Preparation이 방법.
이는 다음을 사용하여 제어할 수 있습니다.경로 정보 수락환경.