2016-01-20 66 views
0

我剛剛下載了一個包含靜態html頁面的網站,該網站從託管到我的本地主機(XAMPP)並將其保存到XAMPP htdocs目錄中的子目錄中。更改XAMPP中的Apache文檔根

當我在瀏覽器中查看本地網站時,所有css,js文件和圖像都丟失了。我檢查了HTML源代碼,看到它全部使用相對路徑進行css/js或href鏈接。例如:

<a href="/contact">Text Link</a> 

它的工作原理上的託管,但在我的本地,它指向http://localhost/contact而不是http://localhost/bf/contact(我的子目錄名稱是BF)。這個結構也適用於所有的css,js文件,並且它們不能被加載。

我試圖.htaccess文件添加到我的子目錄:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !bf/ 
RewriteRule (.*) /bf/$1 [L] 

但它仍然沒有工作。我不想手動更改每個HTML頁面中的所有src,href和鏈接來解決此問題。有一種方法可以讓Apache認識到root是/ bf而不是/,只適用於這個目錄中的所有文件。請幫忙 !

非常感謝!

回答

1

你可以在本地得到通過設置Apache虛擬主機這項工作如下描述:

例如在Ubuntu /etc/apache2/httpd.conf, 如果你在窗口是這樣的話使用XAMPP,那麼httpd.conf文件應該是C:\ xampp \ apache \ conf \ httpd.conf。

請按照下面的步驟在本地服務器上配置本地網站:

------------ 
Step 1 
------------ 
i.e 
<VirtualHost *:80> 
    ServerName test.demo.tst (Any name you want to set) 
    DocumentRoot "C:/xampp/htdocs/bf" 
    <Directory "C:/xampp/htdocs/bf"> 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
    #RackEnv development 
    ErrorLog C:/xampp/htdocs/bf/logs/test.demo.tst_error 
    CustomLog C:/xampp/htdocs/bf/logs/test.demo.tst_access common 
</VirtualHost> 

------------ 
Step 2 
------------ 
Than you need to restart apache service 

------------ 
Step 3 
------------ 
Than you need to do setting in your hosts files 
for example in hosts file place below entry 

127.0.0.1  test.demo.tst 

------------ 
Step 4 
------------ 
Than you can access this url test.demo.tst local server. 

I hope this informations would be helpful to you. 
+0

感謝Atul的答案。它幾乎可以工作。除了當我打開位於本地主機上另一個子目錄中的另一個本地站點(例如http:// localhost/abc)時,則會遇到未找到該對象的錯誤。我做錯什麼了嗎 ? – LocNguyen

+0

@LocNguyen我認爲你應該使用其他網址和設置進行配置,就像我上面提到的所有這些本地網站一樣。 –

+0

非常感謝! – LocNguyen

0

請試試這個..

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !bf/ 
RewriteRule ^(.*)$ /bf/$1 [QSA,L] 

希望這對您有所幫助。你的Apache重寫模式必須在php.ini

+0

謝謝你的回答 – LocNguyen