我想我錯過了一些東西,並不認爲我真的明白rewriteBase是如何工作的。Apache本地根目錄在本地主機上的開發目錄
我遇到的問題是我有一個生產站點,該站點位於根目錄中,但我的本地主機子目錄中有我的開發站點。例如http://www.sitename.com/ VS http://localhost/sitename/
如果我有例如一個圖像文件夾我想通過在href使用初始斜線引用從站點根圖像。例如,使用相對href(不帶初始斜線)不是一個選項。這將工作在生產現場,但網站的發展正在尋找http://localhost/images/imagename.jpg,而不是http://localhost/網站名稱 /images/imagename.jpg
所以我想所有我需要做的是建立在我的下面。 htaccess文件強制站點根目錄到我的子域的開發環境中:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /sitename
但這仍然使用localhost作爲站點根以代替localhost /站點名。
任何人都可以請給我一些指點?
-------------------------編輯-------------------- -------
我停止嘗試在.htaccess文件中執行此操作,並嘗試使用html命令,但這也無效。
最後,我在本地服務器上的Apache中設置了虛擬主機,但它似乎像改變網站根目錄這樣一個可怕的很多矯枉過正。我還擔心LAN網絡上的其他開發人員無法通過虛擬主機正確訪問站點。
我真的需要一些'最佳實踐'的建議,請在WAMP中建立一個可行的開發環境。
我不得不從一個具有8個站點的服務器(虛擬主機)對站點進行大的修改,所以我將站點複製到另一個目錄,併爲該目錄(和一個新的子站點)添加了一個新的虛擬主機。不要以爲這是一個過度的殺手,在我的情況下是模擬開發服務器的最佳方式。 – 2011-03-23 10:06:08
隨着時間的推移,我們一直在爲我們所有的Web開發項目設置虛擬主機。由於編寫OP,它已經成爲我們的標準做法。 – Das123 2011-03-24 01:52:55
這是一個很好的做法。爲了使dev站點可供其他人使用,通配DNS可派上用場。如果您有一臺名爲dev01.example,com的主機,只需將* .dev01.example.com指向那裏。然後,當您需要項目「foo」的一個devsite時,您只需爲foo.dev01.example.com設置一個虛擬主機,並避免觸摸DNS或hosts文件。 – timdev 2011-04-12 23:17:19