2009-09-14 15 views
-1

添加/調用從瀏覽器中的文件鏈接對應的HTML文件(對不起,我不能正確框架問題。)如何在場景中用戶可以通過在年底

以下是該方案。

我有2個Html文件。

的file1.html有

<a href="File2.html">Click Me</a> 

File2.Html有

<a href="File1.html">Click Me</a> 

現在,當我在瀏覽器中打開的file1.html通過鍵入以下瀏覽器。

http://Localhost/File1.html 

與鏈接設定的file1.html顯示和點擊時如果我在瀏覽器中打開的file1.html通過鍵入以下瀏覽器去

http://Localhost/File2.html 

(注/最後)。

http://Localhost/File1.html/ 

與鏈接設定的file1.html顯示和點擊時進入

http://Localhost/File1.html/File2.html 

我知道這是不是在瀏覽器中做了正確的方式,但你不能阻止用戶這樣做。

上面的例子我用來簡化問題。我真正的生產問題是,當使用MVC url實際路由。因此,用戶可以合法使用http://example.com/Employeehttp://example.com/Employee/,由於這個原因,我的jqGrid無法正常工作。

請指導我解決問題。

更新: 這適用於IExplorer:wierd。

+1

不要忘記網絡服務器在這一切中的作用。網絡服務器必須識別這些'奇怪'的URL並且仍然服務於你請求的頁面。 – pavium 2009-09-14 12:12:32

+0

@pavium請嘗試使用file://file1.html,您將得到相同的結果,因此webserver不在此處。 – 2009-09-14 12:30:43

+0

不,如你所說,你不能阻止用戶輸入陌生的URL,但我想知道是否可以通過配置Web服務器或從Web服務器獲得幫助(如果有) – pavium 2009-09-14 13:23:41

回答

2

您需要鏈接相對於。以下:

<a href="/File1.html">Click Me</a> 

(注意「/」在HREF的開始)將鏈接到http://Localhost/File1.html只要包含鏈接的頁面(只要是在同一主機上)。

+0

這就是所謂的絕對URL路徑。 – Gumbo 2009-09-14 12:15:47

+0

不相對根我需要它相對於父 – 2009-09-14 12:31:23

+0

它是根源,但不是絕對的,通常可以理解爲該術語(如RFC 2396) – bobince 2009-09-14 12:43:19

0

不是相對於根我需要它相對於父

那是不可能的。如果您使用的是路由URI,則基本名稱後面可能會有各種/路徑/段。瀏覽器無法知道真正的「父母」是什麼。

通常的解決方案是使用Joe建議的相對URI。如果您需要允許您將應用程序安裝在根目錄下的可配置前綴中,則需要將該前綴複製到鏈接中。

0

您的問題讓我想起了一種在PHP中實現的搜索友好URL的技術。

事情是這樣:

http://localhost/index.php/2009/09/ 

它被描述on Sitepoint.com的想法是,index.php文件可以檢索從Web服務器的URL的後一部分,並決定該怎麼做。包括是否處理最後的/不。

它不會與HTML文件(它畢竟不能檢索URL的尾部)相關,但它可能提供更多的想法。

相關問題