2010-09-08 142 views
3

所以我從this handy guide瞭解到如何使用.htaccess將像foobar.com/baz這樣漂亮的URI重定向到可能駐留在foobar.com/bazheader345.php?user=baz的特定內容。我可以在不重定向的情況下重寫URL嗎?

如果我想做相反的事情該怎麼辦?我的錨是靜態的,但我在不同的文件中有很多內容 - 而且他們都沒有特別漂亮的名字。假設我有一個頁面foobar.com,名爲123.html,並希望地址欄保持http://foobar.com,儘管用戶執行的文件之間的導航。

這可以通過更改.htaccess?或者乾脆使用Javascript?

如果它可能,它會干擾瀏覽器的歷史狀態嗎?

回答

2

這真的很容易處理HTML frames。假設您的主頁是http://example.com/index.html。保存index.htmlhome.html並保存像下面這樣在index.html

<html> 
    <head> 
    <title>Website title</title> 
    </head> 
    <body> 
    <iframe src="home.html" width="100%" height="100%" frameborder="0" scrolling="no" /> 
    </body> 
</html> 

如果你不想重命名原來的主頁,你可以代替你的.htaccess文件貼DirectoryIndex directive。只保存在,比方說,frame.html上面的代碼,改變home.html到任何文件名的指數爲:增加

DirectoryIndex frame.html 

.htaccess文件。

但是,您應該知道這種做法在10年前已經過時了,因爲它存在固有的問題。它不會破壞你的歷史記錄,但它會打破deep linking(也就是說,除了主頁以外,不能書籤或鏈接到其他任何東西)。

更多信息:

+0

我同意。雖然保持一致的URL或多或少是可能的,但它通常不是一個好主意。 – 2010-09-08 05:44:23

2

你會好得多創造了所有其他網頁漂亮的名字,讓你讓你的用戶鏈接至或書籤那些其他網頁....或保持醜陋的網址,不用擔心。

保持相同的URL,並顯示不同的內容違背了一個網址,這將是一個唯一地址爲一組特定的信息的全部目的。

+0

我接受了馬克特拉普的後代答案,因爲它提供了一種方法來實現有關目標,但是,對於記錄而言,你是對的。 – 2010-09-08 06:51:06

相關問題