簡體   English   中英

在Codeigniter URL route.php中出現問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM