2014-12-06 20 views
1

我使用Windows PC進行網站開發和Linux上的(共享)託管。我想爲一個img標籤使用絕對路徑,因爲它可以用於我網站中不同級別的各種不同頁面(例如http:/home/page1, http://home/level1/page2)。我相信你明白了。如何設置img標籤的絕對路徑在Windows和Linux中工作

所以我有類似<img src="/dir1/dir2/dir3/dir4/imagefile.png">的東西,我期望能找到我的圖像相對於我的網站的基本目錄。這確實是在Linux上的情況,但在Windows上它會在/localhost/dir1/dir2/dir3/dir4/imagefile.png,即使我的網站基地目錄是像/localhost/users/name/webbase

我已經搜索瞭如何設置窗口上絕對img源的基礎目錄,例如使用htacces文件(我很高興在我的Windows和生產服務器上有不同的目錄),而沒有成功。 RewriteBase不起作用。

任何想法?

(順便說一句,我有幾個網站,那麼一個全球性的apache httpd的類型修復可能是不恰當的。)

回答

0

有趣的是一分錢怎麼滴最終!我明白,我應該看看我的Apache配置。一個小小的搜索引擎讓我回答了這個問題,所以我想我會把它發佈到這裏,以防其他人遇到這個問題並像我一樣表達。

對於你在windows PC上的任何網站,你需要在兩個地方設置它。因此,假設您有兩個站點位於C:/ Users/user1/site1 /和C:/ Users/user1/site2 /中,您希望通過URI www.site1.prefix和www.site2.prefix訪問站點使用前綴,所以你不會意外與真實網站混淆)。你需要的配置(這是我在我的文件):

C:\ WINDOWS \ SYSTEM32 \ DRIVERS \等\主機

127.0.0.1 localhost 
127.0.0.1 www.site1.prefix 
127.0.0.1 www.site2.prefix 

C:\ Program Files文件(86) \ Apache軟件基金會\ APACHE2.2 \的conf \ https.conf(這是它在我的系統)

NameVirtualHost *:80 
<VirtualHost *:80> 
    ServerName www.site1.prefix 
    ServerAlias www.site1.prefix 
    DocumentRoot " C:/Users/user1/site1/" 
    <Directory " C:/Users/user1/site1/"> 
    AllowOverride All 
    Order allow,deny 
    allow from all 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName www.site2.prefix 
    ServerAlias www.site2.prefix 
    DocumentRoot " C:/Users/user1/site2/" 
    <Directory " C:/Users/user1/site2/"> 
    AllowOverride All 
    Order allow,deny 
    allow from all 
    </Directory> 
</VirtualHost> 

確保你沒有任何的DocumentRoot聲明VirtualHost對之外的其他文件。

請注意,我只在筆記本電腦上使用此功能進行本地開發,因此它不適合生產。

相關問題