2012-06-19 19 views
2

我的問題是,一個不受歡迎的url像www.domain.com/0一樣工作,並向我顯示主頁。一個不受歡迎的url正在CodeIgniter中工作

而且,頁面subdomain.domain.com/0也像子頁面一樣工作。

我正在使用codeigniter。我檢查了routes.php並沒有任何與零有關的內容。它與CI有關嗎? 0後綴有什麼問題?

+0

檢查'.htaccess'文件,而你的主控制器的很難說的一些代碼.. – gorelative

+0

我不會把這個作爲一個答案,因爲我不是100%地肯定了第二部分。但是從CI我們知道這一點。 'www.domain.com'實際上是'www.domain.com/default_controller',它實際上是'www.domain.com/default_controller/index',將0加到末尾意味着在'default_controller'中調用'index(0)'如果我沒有弄錯,即使函數被定義爲'public function index()',在PHP中也是有效的。有更好的知識的人可以希望證實這一點或教我一些東西。 – danneth

回答

1

這是因爲0是一個空值。 Codeigniter會檢查uri是否爲空。如果爲空,則加載默認控制器。

真正的問題是,它對你有什麼關係?

$uri = '0'; 
if (empty($uri)) 
    echo 'Oh my! Lets load default controller!'; 
+0

它看起來不太好。是否可以刪除它或更改核心中的零設置? –

+0

對於任何可以訪問'/ 0'的人來說如何?您不會引用該網址,也不會有訪問者注意到它。我想你可以做一個'$ route ['0'] ='errorz',如果這是必須的。 –

+0

實際上以0結尾的頁面正被服務器索引。所以發生了重複。我認爲這是一個問題。 –