如何從子目錄載入請求的檔案而不重寫基址

如何從子目錄載入請求的檔案而不重寫基址

利用.htaccess規則,如果網域和文件路徑都符合條件,我將嘗試從子目錄載入文件,同時保持前端 URL 不變。

網址範例:

example.com/specificfile.xml

檔案本身位於非公共 Web 根目錄的子目錄中:

/var/www/feeds/specificfile.xml

在嘗試谷歌搜尋時,我得到了很多結果,RewriteBase但這不是我想要的。我只需要為單一文件“重寫基本目錄”並保留前端 URL。

答案1

假設/var/www是文檔根,那麼為了/feeds/specificfile.xml在請求時提供服務/specificfile.xml,您將在根文件中使用 mod_rewrite 執行以下操作.htaccess

RewriteRule ^specificfile\.xml$ feeds/$0 [L]

要使其正常工作,RewriteBase必須根本不設定(最好)或設定為RewriteBase /

反向$0引用只是為了節省重複 - 它引用與匹配的整個 URL 路徑RewriteRule 圖案, IE。specificfile.xml

請注意,如果您的.htaccess檔案中有現有的 mod_rewrite 指令,那麼訂單事宜。 (例如,需要先進行外部/規範重定向。)

相關內容