將目錄重寫到另一個目錄而不重定向

將目錄重寫到另一個目錄而不重定向

我有以下重寫規則:

RewriteRule ^support/(.*)$ /blog/support/$1 [R=301,NC,L]

然而,它所做的只是一個簡單的重定向。我想要的是/support顯示 的內容/blog/support而不更改 的 URL /support。我怎樣才能做到這一點?

此外,以上僅在/support尾部有斜線時才有效。

答案1

如果/blog/support對應於檔案系統中的某個位置,例如/var/www/blog/support,那麼您可以使用

Alias /support /var/www/blog/support

文件Alias 指令表示第二個參數必須是檔案或目錄路徑,而不是另一個 URL。

如果您只需要內部重定向,因此用戶看不到 URL 更改,那麼您可能需要做的就是R=301,RewriteRule.

為了避免需要尾隨 /,請測試斜線或行尾:

RewriteRule ^support(/.*|$) /blog/support$1 [NC,L]

相關內容