2013-05-04 27 views
1

我是新開發的web開發人員,請耐心等待。儘管我所有的搜索都可能會丟失一些東西。Apache配置:在打開本地html文件時自動將「file:/// C:/ xampp/htdocs /」重命名爲「localhost」

當我(從被Apache服務目錄當然)打開HTML文件,在瀏覽器中打開,但該網址是:

文件:/// C:/ XAMPP/htdocs中/路徑/to/file.html

這種方式它不會被Apache服務,所以爲了工作,我必須將路徑的主機部分重命名爲主機名。因此,如果主路徑是

C:/ XAMPP/htdocs中/

然後我要重命名的URL主機名的一部分,在這種情況下"file:///C:/xampp/htdocs/path/to/file.html"必須被重命名爲"localhost/path/to/file.html"如果Apache將爲該頁面提供服務。

我試着添加一個虛擬主機,在其路徑中包含「file:///」,但會導致Apache(和xampp)崩潰。

問題:有沒有辦法避免在打開Apache提供的本地html文件時手動重命名url?

+0

的URL不會自動成爲'文件:// ...'如果你通過'HTTP訪問本地頁面:// localhost'。沒有規則會導致這種轉換。什麼確切的鏈接看起來像?它可能是鏈接本身指向'file:///'? – 2013-05-04 18:03:29

+0

感謝Pekka,你救了我從鉻中搜尋規則:)我的解決方案發布在下面。 – kaffetermos 2013-05-07 20:52:47

回答

1

對Chrome瀏覽器做了一個小小的「url2hostname」擴展,它爲我節省了1.42秒的URL點擊和重命名每次我打開本地HTML文件在鉻。爲了一致性和重複性,我會寫下來。

我有一個爲dropbox目錄設置的虛擬主機。因此,在的httpd-vhosts.conf:

<VirtualHost *> 
    DocumentRoot "C:\Users\hns\Dropbox\Webb" 
    ServerName localhost 
    <Directory "C:\Users\hns\Dropbox\Webb> 
     Options Indexes FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> </VirtualHost> 

所以"C:\Users\hns\Dropbox\Webb"就是我一直很多,我只是想在本地測試(他們必須被Apache服務正常工作)的網頁。當我用chrome打開它們時,URL會被搞亂,比如"file:///C:/Users/hns/Dropbox/Webb/f/index.html"。因此,在這種情況下,我必須選擇"file:///C:/Users/hns/Dropbox/Webb"-部分url並將其重命名爲servername,以便它變爲:"http://locahost/f/index.html"

當我打開一個本地HTML文件,然後單擊瀏覽器擴展程序,它只是將替換URL路徑和協議,並進入所產生的URL(然後加載正確的)所以:

chrome.browserAction.onClicked.addListener(function() { 

    chrome.tabs.query({'active': true, 'currentWindow': true}, function (tabs) { 
     var currentURL = tabs[0].url; 
     newURL = currentURL.replace("file:///C:/Users/hns/Dropbox/Webb", "http://localhost"); 
     chrome.tabs.update(tabs[0].id, {url: newURL}); 
    }) 
}); 

嘿,至少我學到了一些東西:)

編輯:

真正的問題是不是Apache的,但Chrome和交叉產地:

由於「相同來源策略」,有時候網站內容無法在本地正確顯示。所以在我的情況下,問題可能已經解決,只需通過從具有–allow-file-access-from-files–disable-web-security等標誌的快捷方式啓動Chrome即可關閉該策略。

2

我知道這段話已經有一段時間了,因爲此線程有任何活動,但我已經爲此場景準確創建了Chrome擴展。:)

名稱是Localhost Automate,並根據預定義的文件夾將開發人員重定向到http://localhost

我希望有人會覺得這有用。 :)

https://chrome.google.com/webstore/detail/localhost-automate/pplnfonehjimoddpmnhldhkgojhkjcfh

而且也有GitHub的回購; https://github.com/Ardethian/localhost_automate

享受:)

+1

太棒了!奇蹟般有效。 – kaffetermos 2013-11-20 15:09:20

相關問題