我正在嘗試創建一些Apache重寫規則,以便能夠路由URI請求,例如,使用Apache重寫規則時的相對文件路徑問題
http://mydomain.com/articles/example
到
http://mydomain.com/index.php?site=articles&page=example
到目前爲止,我已經得到了這是什麼:
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z0-9_]+).html$ index.php?site=$1&page=$2 [L]
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z0-9_]+)$ index.php?site=$1&page=$2 [L]
由於我使用相對文件路徑無處不在我的index.php,用於樣式表,腳本,圖像等,我面臨着錯誤解析絕對文件路徑的問題。
例如,當我在根,http://mydomain.com/
或http://mydomain.com/articles
,所有相對圖像路徑正確解析 - images/logo.jpg
分別變爲http://mydomain.com/images/logo.jpg
或htdocs/mydomain/images/logo.jpg
。
當我點擊我網站上的一個鏈接時,例如http://mydomain.com/articles/example
,Apache(或瀏覽器?)假設我所有的圖像都位於這裏http://mydomain.com/articles/images/
- 很顯然,這條路並不存在。
因此,這裏是我的問題:
1.是否有可能解決這一問題沒有改變我所有的相對文件路徑,以絕對的嗎?
我可以使用根/
作爲我的實際Web服務器上的所有路徑,因爲我的域名有利地被鏈接。
mydomain.com
鏈接到/html/mydomain
我的Web服務器上 - /
解析爲mydomain.com/
,但我的個人計算機上我運行XAMPP和/
解析爲htdocs/
- 但它應該下定決心htdocs/mydomain/
只是因爲我在htdocs
持有幾個網站在將index.php更新到我的Web服務器時,絕對文件路徑非常糟糕,因爲我必須自動系統地替換路徑聲明 - 不僅在index.php中,而且在樣式表和腳本中也是如此。
2.我應該在個人計算機上創建一個靜態DNS條目以適應我的Web服務器嗎?
3.什麼是最常用的方法?
預先感謝您!
真誠,塞巴斯蒂安