2011-10-31 132 views
1

問題如下: 我部署了一臺服務器,由於某種原因服務器沒有像平常那樣響應網址。我的意思是當我有一個名爲somefile.php的文件上傳到mysite.com/,我輸入瀏覽器mysite.com/somefilesomefile.php被調用,而不是說404找不到。我認爲這很奇怪,並且由於某種原因,它阻止了我的.htaccess文件正確重寫,因爲文件somefile.php被調用,並且mysite.com/somefile之後有信息,如mysite.com/somefile/someotherfilesomeotherfile被忽略,並且somefile.php被顯示。我甚至在服務器的父目錄中刪除了所有其他.htaccess文件,結果仍然相同。我希望你能幫助我。php Apache服務器url重寫問題

在本地主機上,未觀察到此問題。我得到404沒有找到,因爲我應該...

+2

難道這是你的問題? http://stackoverflow.com/questions/5692178/apache-ignoring-file-extensions –

+0

你也可以啓用mod_rewrite日誌,看看它是否真的導致你的問題。 http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog –

+0

嗯,是的,這似乎是我的問題,但沒有提供答案,因爲我已經刪除了所有我的htaccess的文件,我不相信它們是造成這種:( –

回答

2

聽起來像你有MultiViews當前啓用。嘗試禁用它們。

在Multiviews

多視圖是每個目錄選項,這意味着它可以被設置 與內一個選項指令,或在httpd.conf 部分,或(如果設置AllowOverride被正確設定)在 .htaccess文件中。請注意,選項全部不設置MultiView;你 必須要求它的名字。

多視圖的效果如下:如果服務器接收用於/一些/目錄/ foo的一個 請求時,如果/一些/目錄,使多視圖,和 /一些/目錄/ foo的不存在,則服務器讀取目錄 查找名爲foo。*的文件,並有效地僞造一個類型映射圖 ,它們命名所有這些文件,爲它們分配相同的媒體類型,並且如果客戶端要求輸入 他們的名字。然後它會選擇最符合客戶要求的 。

http://httpd.apache.org/docs/2.2/content-negotiation.html#multiviews