Как сделать CakePHP 3 URL готовым для маркетинга?

Я новичок в CakePHP. Я пытаюсь переписать URL, чтобы сделать его оптимизированным для SEO.

Я создал модуль в cakephp3 для страницы CMS.

Страница таблицы — поле URL, которое вы хотите использовать как «about-us»

CREATE TABLE IF NOT EXISTS `pages` (
`id` int(11) NOT NULL,
`title` varchar(100) NOT NULL,
`detail` text NOT NULL,
`url` varchar(225) NOT NULL,
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1;

Текущий URL (рабочий) —
https://example.com/pages/view/8

Я хочу сделать это, как показано ниже.
https://example.com/about-us

Пожалуйста, предложите.

0

Решение

В вашей папке cakephp3 есть файл «rout.php» в \ config.

введите описание изображения здесь

Откройте «rout.php» и используйте:

use Cake\Routing\Router;

// Using the scoped route builder.
Router::scope('/', function ($routes) {
$routes->connect('/about-us', ['controller' => 'Pages', 'action' => 'view', 8]);
});

// Or using the static method.
Router::connect('/about-us', ['controller' => 'Pages', 'action' => 'view', 8]);
1

Другие решения

в сторону маршрута ::

Router::scope('/', function ($routes) {
$routes->connect('/:title', ['controller' => 'Pages', 'action' =>  'home'],['pass' => ['title']]);
});

// в PagesController

public function home($title=NULL){
echo $title;//title = 'yogendra'
}

URL браузера :: HTTP: // локальный / имя-проекта / Йогендра
Вы можете сравнить заголовок с таблицей БД и динамически отображать страницу
Надеюсь, вы исправили проблему. 🙂

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector