2015-07-08 4 views
0

Я имею следующую структуру URL: www.mysite.com/temporary/articles.php/artid=1Change Dynamic Url с использованием Htaccess в CodeIgniter

Я хотел бы изменить его с помощью: www.mysite. ком/временная/статьи/статьи, титульный здесь.

, где заголовок статьи должен быть основан на artid. Кто-нибудь может сказать мне, как я могу это сделать?

+0

, чтобы мы могли лучше понять структуру вашего проекта, обновите свою официальную запись, включая вашу файловую структуру. Вы можете создать его с помощью этого инструмента: http://www.filestructuregenerator.com – CodeGodie

+0

Исполнитель Название должно быть отображено в URL-адресе на основе идентификатора пользователя, указанному в url –

+0

RewriteRule^временно/([^ /] +) $ articles .php? artid = $ 1 Я попытался с этим. Он предоставляет: www.mysite.com/temporary/articles/1 –

ответ

0

Не требуется .htaccess. Я бы создал другой метод контроллера и добавил некоторые маршруты. Я хотел бы использовать следующий подход:

  1. Вы подаете следующий URL: www.mysite.com/temporary/articles.php/artid=1
  2. CI ловит его и перенаправляет его как таковой: В вашем routes.php:

    $route['temporary/articles.php/artid=(:any)'] = "temporary/articles/search_by_id/$1"; 
    
  3. в вашем контроллер:

    class Articles extends CI_Controller { 
    
        public function index($title){ 
         //load your model 
         //from your model, query your database to get your article info by title 
         //send results to your view. 
        } 
    
        public function search_by_id($id){ 
         //load your model 
         //from your model, query your database to get your article title by id. Set it = $title 
         redirect("temporary/articles/$title") 
        } 
    
    
    
    } 
    
+0

Спасибо за ур ответ .. но только мой идентификатор уникален, но не мой заголовок, как можно решить это –

+0

хорошо, как вы в настоящее время обрабатываете это в своем контроллере? Если пользователь отправляется прямо здесь: 'www.mysite.com/tempor/articles/article-title-here.' как ваш контроллер обрабатывает его? вот почему я просил вас об этом коде раньше. – CodeGodie

+1

@SWOTTECH Ваше название должно быть уникальным. –