2016-07-27 2 views
2

Я использовал маршруты CI и иметь следующую запись в конфиге/routes.phpCodeIgniter 3 Routing Выпуск

if($subdomain == 'debug') 
{ 
    $route['debug/(:any)'] = "admin/debug/$1"; 
} 
elseif($subdomain == 'dev') 
{ 
    $route['models/(:any)'] = "v2/dev/models/$1"; 
} 

Если бы я, чтобы перейти к

dev.mydomain.com/models/test/ 

все работает отлично, и я получаю правильный вывод.

Однако, я должен был перейти к

dev.mydomain.com/models/test/trip_id/9091 

Я получаю страницу 404 ошибки.

Единственный способ заставить его работать - использовать следующую запись маршрута.

$route['models/(:any)/(:any)/(:any)']  = "v2/dev/models/$1/$2/$3"; 

Что действительно сбивает с толку меня дальше, что это работает, если бы я, чтобы перейти к

debug.mydomain.com/debug/test/trip_id/9091 

Что я здесь отсутствует, как записи маршрута выглядит так же, но будет работать только на первой подобласти (отладка .mydomain.com), но не на последнем (dev.mydomain.com)

Это содержимое моего файла .htaccess

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteBase/
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php?/$1 [L] 
</IfModule> 

Любая помощь с благодарностью.

+0

Вы можете проверить '$ конфиг [ 'base_url'] ', расположенную внутри' приложение/Config/config.php'? – rmondesilva

+0

Поскольку у нас есть несколько поддоменов, указывающих на одно и то же приложение CI, оно относится к URL-адресу. Я не думаю, что проблема связана с этим конфигом. – asyadiqin

ответ

0
$route['models/(:any)'] = "v2/dev/models/$1"; 

Проверьте маршрут пути, если вы звоните в контроллер из папки она должна быть YourFolder/контроллер/method_name/$ 1

+0

Контрольный класс находится на ../controllers/v2/dev/models.php – asyadiqin

+0

Попробуйте, например, один $ route ['models/(: any)'] = "v2/dev/models/method_name/$ 1" ; Если вы не вызываете индекс() по умолчанию. –

+0

Не совсем уверен, что вы говорите мне, но, как указано выше, v2 и dev являются именем каталога, а модели - это файл класса. Если вы просите меня создать одну запись для каждого метода/функции, я думаю, что это непрактично, поскольку у меня может быть до 30 методов/функций для каждого файла класса. – asyadiqin