我的情況很簡單,但我仍然無法使其作業。我的后端控制多個站點,我需要將 /img/ 檔案夾簡單地重寫為特定 HTTP 主機的 /img/subfolder/。
因此,從 URLwww.site1.com/img/logo.svg檔案將在/img/logo.svg
,從 URLwww.site2.com/img/logo.svg將在/img/site2/logo.svg
我在 .htaccess 中有這段代碼,但它會引發 500 錯誤
RewriteCond %{HTTP_HOST} ^www.site2.com
RewriteRule ^img/(.*)$ img/site2/$1 [L]
我在看什么?謝謝!
uj5u.com熱心網友回復:
RewriteCond %{HTTP_HOST} ^www.site2.com RewriteRule ^img/(.*)$ img/site2/$1 [L]
這將引發 500 錯誤,因為該RewriteRule 模式也與目標 URL 匹配,這將導致無限的重寫回圈。您需要排除已經被重寫的請求img/site2/,或者可能只是匹配img/<file>,而不是img/<anything>.
例如,請嘗試以下操作:
RewriteCond %{HTTP_HOST} ^www\.(site2)\.com
RewriteRule ^img/([^/] \.\w{2,4})$ img/%1/$1 [L]
這匹配/img/logo.svg,但不匹配/img/site2/logo.svg。
反向參考包含從前面的CondPattern捕獲的%1域名(即“site2”)。這個簡單可以節省重復。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/444748.html
