Codeigniter automati c перенаправление на дружественный URL не работает - PullRequest
0 голосов
/ 07 мая 2020

Мне нужно перенаправить URL http://domainname/foldername/functionname/dynamicstring на http://domainname/foldername/dynamicstring.

Я добавил это в свой маршрут

$route['([a-zA-z_]+)'] = 'controllername/functionname/$1';

, и я могу получить доступ к этому URL http://domainname/foldername/dynamicstring, только когда я ввожу его в URL. В противном случае при нажатии кнопок сайт перенаправляется на http://domainname/foldername/functionname/dynamicstring, который теперь показывает 404 не найдено.

Код страницы просмотра

<a href="<?php echo base_url('functionname');?>/<?php echo $dynamicstring ;?>"></a>

Контроллер

public function functionname($dynamicstring)
  {
    $data['fun1'] = $this->Modelname->fun1($dynamicstring);
    $data['fun2'] = $this->Modelname->fun2($dynamicstring);
    $this->load->view('folder/viewpage',$data);
  }

Может ли кто-нибудь мне с этим помочь?

1 Ответ

0 голосов
/ 07 мая 2020

Итак, я создал демо, и оно у меня работает. Я объяснил в самом коде.

маршруты. php

// As the name suggests here {functionname} is any function inside the controller, controller name is {controller} which is inside folder named {folder}.
$route['functionname/(:any)'] = 'folder/controller/functionname/$1'; // if you want {foldername} here then replace {functionname} with {foldername}

Контроллер. php

class Controller extends CI_Controller {

    public function functionname($dynamicstring){
        echo $dynamicstring;
    }
}

вид

<?php 
    //get the value in $dynamicstring(your condition)
    $dynamicstring = 'harry-potter'; //say harry-potter
?>

<a href="<?php echo base_url("functionname/$dynamicstring"); ?>">My name</a>
<!--<a href="<?php echo base_url("foldername/$dynamicstring"); ?>">My name</a>-->

ВЫХОД:
output image

Как видите, у меня работает нормально. Посмотри, поможет ли это тебе.

...