2012-12-22 22 views
0

我的舊網站不使用框架和的.htaccess工作正常,看看下面我的.htaccess代碼:我需要建議在代碼點火器的框架使用的.htaccess

RewriteRule ^([a-zA-Z0-9_-]+)\.html solution.php?solution=$1 [L] 

所以點有,如果它在URL中檢測到'.html',那麼用戶被重定向到傳遞任何GET參數的PHP頁面。

最近,我將我的網站使用的代碼點火器的框架,所以我將我的.htaccess代碼下面的東西:

RewriteRule ^([a-zA-Z0-9_-]+)\.html index.php/solution/index/$1 [L] 

我最終得到找不到網頁。但是,如果我還是手動鍵入

http://myhost/index.php/solution/index/xxx 

那麼它的工作原理,但如果我鍵入

http://myhost/xxx.html 

則沒有。我的目標是維護原始網址,因爲它是由Google編入索引的,我不希望我網站的以前訪問者爲我的舊鏈接找到「未找到網頁」。

我需要一個可能有所幫助的修復或建議。期待你的回覆。謝謝。

+1

其實如果要加載的是笨了編碼的頁面,你必須遵循像www.myhost.com/class標準/方法,所以你不能簡單地做www.myhost.com/xxx.html。對不起,如果你已經熟悉這一點。而且.htaccess的主要目標(大多數情況下)是清理網址,即從url中隱藏index.php。 –

+1

其實Shomz的回答是對的,我通過.htaccess文件刪除了index.php,然後我使用Code Igniter的'routes.php'來進行重定向。現在一切正常。 – it2051229

回答

1

看起來你錯過了很多東西,同時轉換你的網站使用CI。閱讀關於URL suffixes,並且還請注意,您可以使用routes來重定向使用控制器無法正常處理的任何內容。

您還需要修改.htaccess來擺脫index.php,因爲只修改配置文件將不起作用 - 有大量的資源,如this one