Codeigniter, Маршруты. Сохранить URL-адреса - PullRequest
1 голос
/ 29 апреля 2020

У меня слишком старый сайт для воссоздания. Нет источников, но все ссылки выглядят как

http://example.com/about.html

http://example.com/contact.html

http://example.com/countryname.html

http://example.com/countryname/cityname.html

Ну, владелец говорит: «Это Joomla», но мне интересно, почему ссылки такие простые, как если это были номера отдельных файлов. html.

Я вообще не использую Joomla и предпочитаю Codeigniter. Но есть ли способ сохранить URL-адреса одинаковыми?

Например, на мой взгляд

<a href="<?php echo base_url('/welcome/countrieslist/germany');?>" class="menu__link">Germany</a>

, что дает http://example.com/welcome/countrieslist/germany

Мне нужно было бы http://example.com/germany.html

Спасибо за любую помощь.

Ответы [ 3 ]

0 голосов
/ 29 апреля 2020

Спасибо, Донбу.

Через некоторое время я думаю, что самый простой способ - это

$route['what-I-would-like-to-have-in-url'] = 'mycontroller/mymethod';

Затем мне нужно переопределить функцию base_url для добавления. html ко всем URL.

Странно, но

$config['url_suffix'] = '.html';

ничего не добавляет.

0 голосов
/ 29 апреля 2020

Самый простой способ - добавить префикс ко всем URL-адресам, если вы уже удалили /index.php из URL-адреса платформы CodeIgniter, удаляя индекс. php из URL-адреса

`$config['url_suffix'] = '.html'; //Config.php`

// Маршруты. php

`$route['about'] = 'Controller/function';// example`

`$route['germany'] = 'welcome/countrieslist/germany';`

Затем добавьте это к вашей ссылке в представлении

`<a href="<?php echo base_url('germany');?>" class="menu__link">Germany</a>`

Маршруты могут быть одинаково расширены многими параметрами. Просто взгляните на официальное руководство фреймворка под topi c

0 голосов
/ 29 апреля 2020

Добавьте идентификатор в URL, например:

http://example.com/germany-c.html

На основе этого идентификатора c вы можете направить любой URL, зная, что представляет этот URL. В этом случае c представляет страну.

Затем добавьте маршрут в config / маршруты. php:

$route['(:any)-c.html'] = 'welcome/countrieslist/(:any)';
...