Направляйте (некоторые) запросы из каталога WordPress в Codeigniter - PullRequest
1 голос
/ 27 октября 2019

У меня есть веб-сайт:

mysite.com -> basic wordpress site
mysite.com/app -> php codeigniter app
mysite.com/app/profile/view/name.surname -> user profile in my codeigniter app

ПРОБЛЕМА:

Я хочу направить запросы от:

mysite.com/name.surname

... в профиль пользователяof "name.surname" в моем приложении codeigniter:

mysite.com/app/profile/view/name.surname

Каждый идентификатор "profile" в слаге URL содержит как минимум точечные (.) профили на Facebook. Поэтому, если какой-либо из слагов содержит (.), Я точно знаю, что это профиль пользователя.

Как лучше всего выполнить такое поведение?

ПРИМЕРЫ И ВИЗУАЛЬНОЕ ПОЯСНЕНИЕ

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Я знаю, что ваш вопрос определяет .htaccesss, но, возможно, это поможет вам. Включите файл index.php, как показано ниже:

<?php
      $uri_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
      $uri_segments = explode('/', $uri_path);
      if(strpos($uri_segments[0],'.')===false){
                include 'wordpress_index.php';
      }else{
                include 'codeigniter_index.php';
      }

Его единственная функция будет определять, какое приложение загружать, основываясь на существовании точки в первом сегменте вашего URL.

0 голосов
/ 27 октября 2019

Этого можно добиться, установив маршрут с обратным вызовом, предполагая, что профиль является вашим контроллером и просмотр ваш метод:

$route['(:any)']=function ($user){      
        $user=explode('.',$user);
        if(array_key_exists(1,$user)){
            // check if array has 2nd element and create route
            return "profile/view/$user[0]/$user[1]";
        }else{
            // route to index function
            return "profile/index";
        }
};

в функции просмотр контроллера профиля вы можете получить имя и фамилию следующим образом:

function view($n, $sn){
    echo "name= $n; surname= $sn";
}   

о Codeigniter Uri Routing with Callback

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...