Dot-Htaccess

如何在不重寫基礎的情況下從子目錄載入請求的文件

  • July 28, 2021

利用.htaccess規則,如果域和文件路徑都匹配標準,我正在嘗試從子目錄中載入文件,同時保持前端 URL 不變。

網址範例:

example.com/specificfile.xml

該文件本身位於不是公共 Web 根目錄的子目錄中:

/var/www/feeds/specificfile.xml

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

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

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

為此,RewriteBase必鬚根本不設置(最好)或設置為RewriteBase /.

反向引用只是保存重複 - 它指的是與模式$0匹配的整個 URL 路徑,即。.RewriteRule specificfile.xml

請注意,如果您的.htaccess文件中有現有的 mod_rewrite 指令,那麼順序很重要。(例如,外部/規範重定向需要先進行。)

引用自:https://serverfault.com/questions/1070866