찾다

 >  Q&A  >  본문

macos - OS X에서 Apache 열 파일을 가리키는 오류

최근 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입니다.

감사합니다!

淡淡烟草味淡淡烟草味2750일 전621

모든 응답(1)나는 대답할 것이다

  • 淡淡烟草味

    淡淡烟草味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 이상에서만 사용 가능).

    참조 문서🎜

    회신하다
    0
  • 취소회신하다