[英]Getting issue in codeigniter URL routes.php
我正在一個項目中,我需要為每個產品創建干凈的URL,請參見以下模式:-
example.com/Single_Product_Page
原始網址為example.com/browse/Single_Product_Page ,我使用了以下代碼:-
$route['(:any)'] = 'Products/browse/$1';
我有兩頁(1)example.com/Product
和(2)example.com/Products/Single_Product_Page
它工作正常,但是現在我無法打開“ 產品”頁面,當我嘗試打開它時,它會打開Single_Product_Page
請幫我解決這個問題。
您需要更新類似於以下示例的路由(在我的網站上可以正常運行):
$route['products'] = 'controller/myfunction/argument';
$route['products/:any'] = 'controller/myfunction/another_argument/$1/1';
您可以從此處的文檔中獲得更多見解
您可以使用一些技巧來僅使用您的控制器名稱(當然這是必須的),但是無需編寫方法名稱並在控制器名稱之后直接傳遞參數,因此基本上您的url看起來像這樣: http://localhost/controller/parameter
,這將為您提供較短的網址,而不是您聲稱的SEO友好目錄。
您可以在控制器中使用_remap
並檢查它是否與正常處理的方法相匹配或將其傳遞給索引(這是您不必在url中編寫的默認方法)..現在您不需要按照預期在網址中使用索引。
public function _remap($method)
{
if ($method === 'some_method_in_your_controller')
{
$this->$method();
}
else
{
$this->index($method);
}
}
或者,您可以依賴ajax進行所有操作,並且url幾乎總是固定的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.