최근 Mac으로 변경했는데 Apache로 구성을 했더니 이상한 현상이 발생했습니다.
예를 들어 내 로컬 디렉터리는 ~/Work/app/a/b이고 www.test.com을 로컬 ~/Work 디렉터리로 지정한 다음 http://www.test.com/app/a/를 방문합니다. ㄴ 문제없어요
하지만 Options Indexes
을 열고 http://www.test.com/app/a/를 열면 나열된 b 디렉터리를 볼 수 있습니다. 그런 다음 이를 클릭하면 URL이 http://www.test로 이동합니다. com/app/b 가세요! 절대 경로로 직접 여는 것은 정상이며 점프하지 않을 것입니다(따라서 권한 문제는 아니라고 생각합니다).
루트 디렉토리에서 .htaccess
,并没有看出什么端倪。把 mod_rewrite
를 살펴봤는데 주석 처리해도 아무런 효과가 없습니다.
이상한 점은 내 앱 아래에 많은 디렉터리가 있지만 모든 디렉터리에 문제가 있는 것은 아니라는 것입니다. 그 중 공통점을 찾아보았더니 딱 한 가지만 있는 것 같습니다. 반송되는 디렉터리(파일)가 모두 해당 디렉터리의 마지막 수준에 있다는 것입니다.
이러한 상황을 겪어본 적이 있는지 궁금합니다. 내 Apache 버전은 Yosemite와 함께 제공되는 2.4.10입니다.
감사합니다!
淡淡烟草味2017-05-16 17:04:20
자신만의 질문을 하고 답해보세요...
이유는 간단해요. mod_dir
을 열지 않았기 때문이죠! mod_dir
에는 DirectorySlash
라는 매개변수가 있는데, 이는 디렉토리 주소 뒤에 슬래시를 자동으로 추가하는 데 사용됩니다.
이전에 이 모듈을 로드한 적이 없으므로 당연히 이 기능은 작동하지 않습니다.
그리고 좋다고 생각하는 이유와 나쁘다고 생각하는 이유는 가끔 제가 직접 슬래시를 넣기 때문입니다. mod_dir
!mod_dir
中有一个参数叫 DirectorySlash
,用于自动在目录地址后面加斜杠。
我之前没有加载此模块,自然这个功能也不起作用了。
而我觉得时好时坏的原因是有时候我自己打上了斜杠。
当初之所以要关闭 mod_dir
,是为了让 DirectoryIndex
这个参数失效,这样可以防止 Apache 自动打开目录下的 index.html (本地开发用),结果给自己挖了个坑。
其实只要设置 DirectoryIndex disabled
mod_dir
이 꺼진 이유는 DirectoryIndex
매개변수를 무효화하기 위해서였습니다. 이렇게 하면 Apache가 디렉터리에서 index.html을 자동으로 열지 못하게 됩니다(로컬 개발용). ) 결과는 다음과 같습니다. 나는 나 자신을 위해 구멍을 팠습니다. DirectoryIndex 비활성화
를 설정하면 됩니다(버전 2.4 이상에서만 사용 가능). 참조 문서🎜