我有以下作業。如果它存在而不在 url 中顯示子檔案夾,它本質上將從子檔案夾中提取內容。子檔案夾是 /content
如果一個請求來自 example.com/foo/test 并且檔案夾 /content/foo/test/ 存在,它將呈現請求的 URL 的內容。因此,即使內容是從子目錄呈現的,URL 仍將保持原樣。
這很棒。如何在不實際更改 url 的情況下將請求 / 映射到 /content 目錄中的 index.htm 檔案?
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
# Remove trailing slash on any URL that is requested directly (excludes rewritten URLs)
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule (.*)/$ /$1 [R=301,L]
# If request maps to a directory in "/content" then rewrite and append trailing slash
RewriteCond %{DOCUMENT_ROOT}/content/$1 -d
RewriteRule ^([^.] )$ content/$1/ [L]
uj5u.com熱心網友回復:
您可以在最后一條規則之前包含另一個“無條件”規則以將請求從/to重寫content/- 無需任何檔案系統檢查。例如:
# Rewrite root
RewriteRule ^$ content/ [L]
# If request maps to a directory in "/content" then....
:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/467178.html
