Красивые пути

конфиг:

    'urlManager'=>array(


        'urlFormat'=>'path',


        'showScriptName'=>false,


        'rules'=>array(


            'profile/<id:\d+>'=>'profile/index',


            'profile/*'=>'/',


        )


    ),

ссылка вида http://localhost/kisstown/profile/106 на холокосте работает, а в инете - нет:

Страница не найдена

Системе не удалось найти запрашиваемое действие "160".

Запрошенная страница не найдена на сервере. Если вы ввели адрес страницы вручную, проверьте правильность его написания и повторите попытку.

Если вы считаете, что это ошибка настройки сервера, обратитесь по адресу the webmaster.

СПАСИТЕ МЕНЯ!!!!!!

Смысл в том, что Yii не трансформирует обратно сгенеренный урл в экшн

Если дома работает, а на серваке нет, значит нужно искать разницу… С htaccess и mod_rewrite там всё в порядке?

на серваке работает все кроме обратного формирования экшна из правила. если никакие правила не задавать все норм. Но мне надо правила юзать

Последний глубокий анализ кода фреймворка:

СUrlManager.php метод parseUrl:

			if(($r=$rule->parseUrl($this,$request,$pathInfo,$rawPathInfo))!==false) {


				//echo 'this=' . $this . '<br/>';


				//echo 'request=' . $request . '<br/>';


				$xxx = isset($_GET[$this->routeVar]) ? $_GET[$this->routeVar] : $r;


				echo '$r=' . $xxx . '<br/>';


				print_r($_GET);


				echo 'pathInfo=' . $pathInfo . '<br/>';


				echo 'rawPathInfo=' . $rawPathInfo . '<br/>';


			echo isset($_GET[$this->routeVar]) ? $_GET[$this->routeVar] : $r;


				return isset($_GET[$this->routeVar]) ? $_GET[$this->routeVar] : $r;


				}

print_r($_GET) - в $_GET на локалхосте переменной $_GET[‘r’] нету, а на серваке - есть.

да, вы были правы, криво натроенный .htaccess. Проблема решена. Тему можно закрыть. Спасибо