2016-05-27 67 views
4

讓我們在我的PC上運行兩臺服務器。 server1的服務器2 ....如何在html中設置href <a>標記

  1. 在Server1上有一個HTML頁面。(例如:a.html)
  2. 在Server2上還有另外一個HTML頁面。(前b.html)
  3. Server1是端口80上運行
  4. 服務器2正在端口8080

運行在a.html server1的的有一個標記。 現在我想通過上面的鏈接,這就是爲什麼我寫

<a href="localhost:8080/b.html"> 

它的工作非常好,如果我訪問a.html,並點擊該鏈接,在我的電腦上工作得很好,兩個服務器都從服務器2訪問b.html運行。

......我想從手機中的server1訪問a.html。我的電腦和手機都在同一個wifi網絡。

爲了解決這個問題,我打開了我的手機瀏覽器,並給我的電腦IP前。 192.168.0.1/a.html

它工作正常。 但正如我在上面所說,該頁面中有一個鏈接(如上所示)。 當我點擊該鏈接,它給錯誤

這個網站無法達到 本地主機拒絕連接

....我知道問題出在哪裏上。問題出在鏈接上,因爲我明確地寫了localhost:8080。這是問題。 我應該寫我的電腦私人它而不是本地主機然後它會工作,我知道。但如何讓我的私人IP通過JavaScript動態修改鏈接的JavaScript。

幫我解決這個問題。

+1

@evolutionxbox但他想要一個不同的端口號,所以鏈接去其他服務器 – RiggsFolly

回答

1

您的手機基本上是重定向到自己。

<a>標籤應該是這樣的:

在192.168.0.1/a.html

<a href="192.168.0.1:8080/b.html"> 

,或者如果你不想攪渾你的HTML那麼這也可能

in 192.168.0.1/a.html

<HTML5> 
    <head> 
     <base href="192.168.0.1:8080/"> 
    </head> 
    <body> 
     <a href="b.html">b.html on server #2</a> 
     <br> 
     <a href="192.168.0.1/c.html">c.html on server #1</a> 
    </body> 
</html> 
+0

什麼是'static.ip.server.2'?它是由靜態服務器(靜態)輸出嗎? – evolutionxbox

+0

有趣,但是這並不意味着所有的'href'鏈接都會轉到此頁面上的服務器2。這可能不是要求的 – RiggsFolly

+0

@evolutionxbox我已更新我的答案。 – MonkeyZeus

1

兩臺服務器都在您的電腦上運行。因此,要訪問除自己的PC之外的兩臺服務器,您需要提供您的私有IP。這樣你就可以訪問你的兩臺服務器。

現在,您首先要訪問server1的a.html,其中有一個指向server2的b.html的鏈接。

明確寫出localhost。 而你想動態改變鏈接的href。 Follw下面的步驟。

  1. 更改您的a.html Server1上的鏈接<a id="link" href="#"></a>
  2. 你必須動態地改變你的鏈接。所以要改變我使用JQuery window.onload()方法的鏈接。這個腳本添加到您的代碼

<script> 
 
    window.onload=function() 
 
{ 
 
    //Modify the link href 
 
\t var ip=location.host; 
 
\t $("a#link").attr("href", "http://"+ip+":8080/b.html"); 
 
} 
 
</script>

  1. 因爲你的服務器2的端口8080上運行,並且有一個名爲b.html
  2. 文件現在,您不必擔心。它可以在你的電腦和另一臺電腦或同一網絡中的電話上工作。
+0

謝謝!現在正在工作...... –

相關問題