Я использую codeigniter … Я хочу чистый URL-адрес ниже URL-адреса
http://localhost:8080/rtvnews/index.php/home/videonews?id=67598/newstitle
здесь home => controller, videonews => function и? id = 6586565 – строка url.
Я хочу удалить /index.php/home/videonews?id=67598 и заменить на / news /
Ниже финального URL-адреса мне нужно получить
http://localhost:8080/rtvnews/news/newstitle
Для скрытия index.php из url используйте следующий htaccess
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
Подробнее о htaccess
Маршрутизация URI
Учитывая, что newstitle уникален:
Перейдите в файл route.php (application / config / routes.php). Добавить новое правило маршрута, как показано ниже.
$route['rtvnews/news/(:any)'] = 'home/videonews/$1';
в вашем файле вида
<a href="<?php echo base_url()."rtvnews/new/".$newstitle; ?>" > News Title</a>
поэтому ваш url стал ниже
http://localhost:8080/rtvnews/news/uniquenewstitle
Ваш запрос отправляется на главную / vidonews, где вы можете получить свой новый атрибут в качестве параметра.
В вашей функции controller.php будет
function vidonews($newsTitle){}
Учитывая уникальный идентификатор:
Добавить новое правило маршрута, как показано ниже.
$route['rtvnews/news/(:num)'] = 'home/videonews/$1';
В файле view.php
<a href="<?php echo base_url()."rtvnews/new/".$newsId; ?>" > News Title</a>
поэтому ваш url стал ниже
http://localhost:8080/rtvnews/news/newsId
Теперь ваш запрос отправляется на главную / vidonews, где вы можете получить свой newsId в качестве параметра. В вашей функции controller.php будет
function vidonews($newsId){}
Выполните следующие шаги
Шаг 1: .htaccess (тот, который находится в корневой папке)
Options All -Indexes RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
Шаг 2: routes.php добавьте код ниже
$route['rtvnews/news/newstitle'] = 'Your controller/method']; //Just a syntax to change the route in codeigniter. You can change the url as per you want.