如何使用 Apache 確保檔案優先於目錄?

如何使用 Apache 確保檔案優先於目錄?

我的 httpd.conf 使用 MultiViews 選項為 URL 提供 HTML 文件,例如http://伺服器/博客。這工作得很好,除非有同名的目錄——Apache 將嘗試為該目錄提供服務。

有沒有辦法確保 blog.html 優先於 blog/,或者更確切地說:儘管存在匹配實體(目錄),但我可以根據 MultiView 進行 Apache 處理內容協商嗎?

在 nginx 中,我可以明確地執行此操作:

try_files $uri $uri.html $uri/ =404;

答案1

我改用 mod_rewrite。以下規則僅重寫不帶點(“.”)的 URL,因此 /images/image.jpeg 保持不變:

RewriteRule ^/([^\.]+)$ /$1.html [L]

相關內容