我的 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]