Yii Framework Forum: Красивые пути - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Красивые пути помогите, они не работают!!! Rate Topic: -----

#1 User is offline   Vlad 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 55
  • Joined: 29-November 09

Posted 15 February 2010 - 01:21 PM

конфиг:

'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'profile/<id:\d+>'=>'profile/index',
'profile/*'=>'/',
)
),

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

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

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

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

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

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

#2 User is offline   andy_s 

  • Random Member Title
  • Yii
  • Group: Moderators
  • Posts: 1,526
  • Joined: 22-June 09
  • Location:Russia, Kostroma

Posted 15 February 2010 - 02:13 PM

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

#3 User is offline   Vlad 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 55
  • Joined: 29-November 09

Posted 15 February 2010 - 02:15 PM

View Postandy_s, on 15 February 2010 - 02:13 PM, said:

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


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

#4 User is offline   Vlad 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 55
  • Joined: 29-November 09

Posted 15 February 2010 - 02:20 PM

Последний глубокий анализ кода фреймворка:
С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'] нету, а на серваке - есть.
0

#5 User is offline   Vlad 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 55
  • Joined: 29-November 09

Posted 15 February 2010 - 02:25 PM

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

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users