感謝您的幫助;我是新來的所有這個URL映射,但我相信這是一個簡單的問題...如何使用.htaccess將絕對URI路徑從「/xxx/some.file」映射到「/something/xxx/some.file」
我正在從GoDaddy(誰最近放棄他們的ColdFusion支持)遷移ColdFusion應用程序到CFDynamics。
我有我的新根的URL:cfd123.cfdynamics.com/lbc這是我的wwwroot目錄,我把網站。 (其實是:D:\ Inetpub \ wwwroot \ lbc.com \ wwwroot,但我認爲不重要)
問題是所有的HTML URIs:href和src屬性等都寫在網站中使用絕對路徑:「/images/some.jpg」等,現在我想讓它們映射到「cfd123.cfdynamics.com/lbc/images/some.jpg」。
我想我需要映射「/東西」到「/ lbc/something」的地方。這看起來應該很簡單,只需將一個前導「/」映射到「/ lbc /」,我就可以走了。
所以,我去創建一個「Alias// lbc /」列表並將其放入我的.htaccess文件中。現在我發現在.htaccess中不允許使用別名。 (我想如果我有權訪問httpd.conf,我可以在那裏使用Alias,但它是一個共享主機環境,我沒有那個訪問權限。)
所以,我想我會嘗試重寫規則(仍然在.htaccess文件中):
RewriteEngine on
RewriteBase /lbc
RewriteRule ^/(.*)$ /$1 [L,R=301]
無濟於事。所以,我沒有發現任何明顯的事情都有效(我甚至不確定我是否正確地做了這些事情)。我沒有看到任何調試機制向我展示任何東西(chrome只是向我展示了當文件未找到時會出現的404錯誤)。
這對我來說都是新的,並且開始變得漂亮多毛快速。任何人都可以指引我正確的方向嗎?
謝謝,史蒂夫
p.s.我可以通過在wwwroot目錄中創建Application.cfc文件來處理ColdFusion CFInclude指令,該文件包含下面的代碼,但對整個頁面中的各種HTML鏈接不做任何處理。
<cfset this.name = "AbsoluteReference"/>
<cfset this.mappings = structNew() />
<cfset this.mappings["/"] = getDirectoryFromPath(getCurrentTemplatePath())/>
這不是一個編程問題。它可能會更適合[SF]。儘管你接近錯誤了。停止使用絕對路徑 - 如果你使用'。/ images',那麼你就沒有這個問題 - 而且當你得到你正確的域名設置時,你不需要再次切換(cfd123的東西可能只是暫時的,而不是你的網站的最終安息之地)。 –
對不起,如果服務器故障是一個更好的地方,我會牢記。 我同意絕對路徑......但這些都是我處理的牌,並將它們都修改爲相對路徑是醜陋的。 而且,我是這個託管服務提供商的新手,以及他們是如何工作的。結果他們解析主機頭將流量路由到正確的webroot;所以,一旦我將域名上的DNS條目指向它們,而不是直接用cfd123域進行測試(這不是暫時的,它只是不會被使用),那麼一切都按預期工作。所以,我沒有任何進一步的工作解決。 謝謝。 – user1004136