首頁  >  問答  >  主體

macos - OS X 下 Apache 列檔案指向錯誤

最近換了台 Mac,配 Apache 的時候發生了一點詭異的情況。

比如說我本地的目錄是~/Work/app/a/b,我將www.test.com 指向了本地~/Work 這個目錄,那麼訪問http://www.test.com/app/ a/b 是沒有問題的。

但是當我把Options Indexes 打開之後,打開http://www.test.com/app/a/,可以看到列出b 目錄,然後我點擊它,網址居然跳到http://www.test.com/app/b 去了!注意,直接用絕對路徑打開是正常的,並且不會跳躍(因此我感覺不像權限問題)。

我看了看根目錄下的 .htaccess,並沒有看出什麼端倪。把 mod_rewrite 註解掉也沒什麼作用。

奇怪的是,我的 app 下有很多目錄,但不是每一個都會出現情況。我試著找出其中的共通性,好像就只有一點:發生回跳的目錄(檔案)都處於目錄的最後一個層級。

不知各位有沒有碰過這種情況,我的 Apache 版本是 Yosemite 自帶的 2.4.10。

謝謝!

淡淡烟草味淡淡烟草味2713 天前583

全部回覆(1)我來回復

  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:04:20

    自問自答…

    原因很簡單,因為我沒有打開 mod_dir
    mod_dir 中有一个参数叫 DirectorySlash,用於自動在目錄地址後面加上斜線。
    我之前沒有加載此模組,自然這個功能也不起作用了。
    而我覺得時好時壞的原因是有時候我自己打上了斜線。

    當初之所以要關閉 mod_dir,是为了让 DirectoryIndex 這個參數失效,這樣可以防止 Apache 自動開啟目錄下的 index.html (本地開發用),結果為自己挖了個坑。
    其實只要設定 DirectoryIndex disabled 就可以了(2.4 以上才有用)。

    參考文件

    回覆
    0
  • 取消回覆