我們正在將我們可怕的傳統PHP應用程序遷移到PHRoute--它由大約一兩千個頂級腳本組成。我們刺激了一些孤立的頁面,但現在我正試圖將其與整個系統集成。如何獲得RewriteCond標誌「-f」來識別已重寫的文件?
我使用以下重寫規則來排除現有文件和目錄被重新路由,因此它不嘗試路由任何現有的頂級腳本。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?path=$1 [NC,L,QSA]
這工作正常但有一個例外:多租戶/定製品牌的原因,我們必須重新編寫類似的標誌,CSS等的路由器重寫規則的條件不接我們的客戶特定文件的規則重新編寫客戶端文件,因此它會嘗試重新路由,例如,它應該將其重寫爲/clients/[client]/css/theme.css
並完全跳過路由器,例如static/theme.css
。
如何我可以調整上述規則拿起重寫文件作爲一個「真實」的文件(-f
)?