Проблемы с перенаправлением URL в CI - PullRequest
0 голосов
/ 20 июля 2011

У меня проблемы с переадресацией переменных сегментов URL на настроенный мной тестовый контроллер Я хочу, чтобы случай 4 перенаправлялся на мой тестовый контроллер.

Case1 (работает) перейти к URL http://localhost/2fb/index.php/redirect/test

// выводить "тестирование"

Case2 (не работает) перейти к URL http://localhost/2fb/redirect/test

// output "Запрошенный URL / 2fb / redirect / test не найден на этом сервер. "

Case3 (работает) перейти по URL http://localhost/2fb/

// output -> загружает мой приветственный контроллер.

Case4 (не работает) перейти по URL http://localhost/2fb/abc

// output "Запрошенный URL / 2fb / redirect / test / abc не найден на этом сервер. "

Мой файл rout.php выглядит так:

$route['default_controller'] = "welcome";
$route['404_override'] = '';
$route["2fb/(:any)"] = "redirect/test";

контроллер redirect.php:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Redirect extends CI_Controller {

    public function index()
    {    

    } 
    public function test()
    {
        echo "testing";                       
    } 

}

config.php:

$config['index_page'] = '';

.htaccess:

# Code Igniter Htaccess Rules
<IfModule mod_rewrite.c>
  RewriteEngine on
   # Rewrite URLs of the form 'x' to the form 'index.php/x'.
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>

Я считаю, что моя конфигурация Apache правильная, поскольку она учитывает наличие файлов .htaccess.

Ответы [ 2 ]

0 голосов
/ 20 июля 2011

исправлена.

  • .htaccess файл находился вне папки приложений CI.

  • .htaccess содержал deny from all.

0 голосов
/ 20 июля 2011

возможно попробуйте другой htaccess:

RewriteRule ^$ /index.php [L]
RewriteCond $1 !^(index\.php|css|img|images|js|scripts|system|uploads|robots\.txt|favicon\.ico|favicon\.png)
RewriteRule ^(.*)$ /index.php/$1 [L]

также вам нужно:

$route["2fb/(:any)"] = "redirect/test";

Вы можете просто:

$route["2fb/(:any)"] = "redirect";

или

$route["2fb/(:any)"] = "redirect/$1";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...