2009-08-17 823 views
6

當我在瀏覽器(mysite.com)中鍵入我的網站地址時,它會重定向到mysite.com/index.php。爲什麼不要index.html?因爲我在Apache 2.2的conf文件中更改了它。隱藏URL的index.php(或index.html)

  • 現在我想隱藏最後的「index.php」部分。我怎麼做 ?
  • 它會不同於它是index.html比index.php?

如果通過尋找谷歌,你會不會是醜陋的,你會最終在www.google.com/index.html? ......這只是爲了美學,但上帝對某些人來說很重要。

+0

我重新加標籤的問題,去除「隱藏」,並與「國防部重寫」代替,因爲我認爲這可能更相關。我很高興被證明是錯誤的,雖然=) – 2009-08-17 15:43:50

+0

你是什麼意思重定向?它是外部重定向(URL更改)還是內部重定向(請求'/'返回與/ index.php相同的內容?)? – Gumbo 2009-08-17 15:45:27

回答

10

我不知道爲什麼你需要使用mod_rewrite。在我的網站上,我沒有做任何事情來隱藏index.php,我只是沒有在代碼中的任何地方指出它,所以,而不是www.example.com/index.php?task=forum我只寫了www.example.com/?task =論壇。它適用於標準的apache配置。

+1

同意。你不需要MOD_REWRITE來做這麼簡單的事情。 – 2009-08-17 15:54:01

+0

我會盡力回覆你。 – 2009-08-17 16:13:26

+0

嗯,我有點困惑...我後來在其他代碼中引用index.php,但它應該沒有關係。當我寫mysite.com時,我被引用到運行apache的服務器機器上。然後Apache顯示index.html。但我從來沒有專門提到它。 – 2009-08-18 14:51:13

1

您可以通過http.conf文件或應用程序目錄中的單個.htaccess文件中的URL映射輕鬆完成此操作。打開mod rewriteHere是一個簡單的教程。

+0

我喜歡你的答案,但我認爲巴勃羅聖克魯斯和思想家是正確的:我不需要深入解決我的具體問題。不需要大炮來殺死蒼蠅。 – 2009-08-17 16:12:42

+0

同意,如果您只想處理index.html,那麼這是正確的。如果你有多個「控制」頁面,你需要mod_rewrite。 – 2009-08-18 02:26:55

3

如果它正在重定向(例如,通過在HTTP標頭上發送一個新的位置),那麼您就無能爲力,只能更改執行重定向的代碼。

在另一方面,如果你的Web服務器就是Apache,有一個配置指令,它可能會幫助:

的DirectoryIndex

當其設置爲:的index.php指數。 html,那麼當您訪問服務器上設置了DirectoryIndex指令的目錄時,您的Web服務器將自動重定向到這些內部文件,而不更改URL。

我想你會得到更好的答案,如果你張貼在SERVERFAULT這個。

祝你好運。

+0

我可能一直不清楚,但說「我在Apache的conf文件中改變它」的部分就是這個意思。它被設置爲index.php。 – 2009-08-18 14:52:42

2

這似乎在我的環境中工作(不會顯示的index.php):

 <form action="." method="POST"> 
     E-mail: <input type='password' size='50' name='email' /> 
     <input type='submit' value='Login' /> 
    </form>