Получение проблемы в codeigniter URL-адреса route.php - PullRequest
0 голосов
/ 30 декабря 2018

Я работаю над проектом, в котором мне нужно создать чистый URL для каждого продукта, см. Следующий шаблон: -

example.com / Single_Product_Page

Исходный URL-адрес 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

Пожалуйста, помогите мне решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 31 декабря 2018

Вы можете использовать небольшой взлом, чтобы использовать только имя вашего контроллера (и это, разумеется, обязательно), но избавите от необходимости писать имя метода и передавать параметры непосредственно после имени контроллера, так что в основном ваш URL будет выглядеть так:http://localhost/controller/parameter и это даст вам более короткие URL, как вы и предполагали, но не будет оптимизировано для SEO, как вы заявляли.

Вы можете использовать _remap в вашем контроллере и проверить, соответствует ли он методу, обрабатывает его нормально или передает егок вашему индексу (который является вашим методом по умолчанию, который не должен быть записан в вашем URL-адресе) .. и теперь вам не нужно будет использовать индекс в вашем URL-адресе, как вы планировали.

public function _remap($method)
{
    if ($method === 'some_method_in_your_controller')
    {
            $this->$method();
    }
    else
    {
            $this->index($method);
    }
}

Иливы можете зависеть от ajax для всех ваших операций с crud, и ваш URL будет в значительной степени фиксирован все время.

0 голосов
/ 30 декабря 2018

Вам нужно обновить маршруты, как в этом примере (это нормально работает на моем сайте):

$route['products'] = 'controller/myfunction/argument';
$route['products/:any'] = 'controller/myfunction/another_argument/$1/1';

вы можете получить более подробную информацию из документов здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...