Yii Framework Forum: Problemas Com Url Em Produção - Yii Framework Forum

Jump to content

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

Problemas Com Url Em Produção URLs com o caminho absoluto... Rate Topic: -----

#1 User is offline   Márcio Lordelo 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 10-February 14

Posted 10 February 2014 - 09:32 PM

Olá a todos, estou com um problema no servidor onde todos os links do site ficam com o caminho absoluto da pasta da aplicação no servidor. Por exemplo: site. com. br/var/www/html/site.com.br/web/portugues/site/contato

Estou um pouco perdido e ainda não consegui consertar isso. Alguém teria ideia de como resolver isso?

Desde já muito obrigado.
0

#2 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 824
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 12 February 2014 - 06:23 AM

Márcio,

Como está fazendo as url? Posta um trecho do código!
Newerton Vargas de Araújo
0

#3 User is offline   Márcio Lordelo 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 10-February 14

Posted 12 February 2014 - 08:12 AM

Eu uso o Yii::CreateUrl();

Por exemplo, em uma das páginas com listagem de notícias eu tenho:

<li class="news-topic box box-rounded span10">
    <div class="date"><?php
                                $datetime = explode(' ', $data->date);
                                $date = explode('/', $datetime[0]);
                                $USdate = $date[2] . '-' . $date[1] . '-' . $date[0];
//                echo $date[0] . ' ' . Date::$MESES[(($date[1] * 1) - 1)]; 
                                ?>
                                <span class='day'><?php echo Yii::app()->dateFormatter->format('dd', $USdate); ?></span> <?php echo Yii::app()->dateFormatter->format('MMM', $USdate); ?></div>
    <div class="box-content">
        <h2 class='news-title'><a href="<?php echo Yii::app()->createUrl('noticias/' . $data->slug); ?>"><?php echo $data->title; ?></a></h2>
        <p><?php echo $data->resume; ?></p>
    </div>                      
</li>



Eu pensei que poderia ser algo no urlManager mas até então não consegui resolver. Quando clico em um desses links gerados pelo código acima (e em todos os outros do site) obtenho o link site. com/var/www/html/site.org/web/portugues/site/contato. O "protugues" no link é de um complemento de idiomas. Uma coisa estranha que acontece é que ao carregar o site pela primeira vez os links estão 'normais' (site.com/portugues/controle/action), clico e não redireciona, carrega o index mas agora os links ficam nesse formato que mostrei mais acima. PS: Os links nesse formato louco ai estão funcionando.
0

#4 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 824
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 13 February 2014 - 02:01 PM

Márcio,

1. Como está seu urlManager no config/main.php ?

2. Esse slug do $data->slug, e do seu banco de dados ou uma função que você criou?

3. Veja se com o Yii::app()->createAbsoluteUrl(), resolve alguma coisa.

4. Esse projeto está local ou online?
Newerton Vargas de Araújo
0

#5 User is offline   Márcio Lordelo 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 10-February 14

Posted 15 February 2014 - 09:54 AM

Aqui está a configuração do urlManager:
'urlManager'=>array(
                    'rules'=>array(
                        'language/changeto/<lang:[\w\-]+>' => 'site/language/changeto/<lang>',
                        '<lang:[\w\-]+>/templates/<controller:[\w\-]+>/<action:[\w\-]+>/*' => 'templates/<controller>/<action>',
                        
                        '<lang:[\w\-]+>/site/<page:[\w\-]+>/*' => 'site/<page>',
                        '<lang:[\w\-]+>/<page:[\w\-]+>/<slug:[a-zA-Z0-9-]+>' => 'site/<page>',
                        '<lang:[\w\-]+>/<page:[\w\-]+>/*' => 'site/<page>',
                        '<lang:[\w\-]+>' => 'site/index',
                        
                        // Essa regra deve existir para que o CGridView funcione corretamente.
                        // http://www.yiiframework.com/forum/index.php?/topic/19738-filter-after-sorting-problem-at-gridview/page__p__96648__hl__ajax+ort#entry96648 
                        '<lang:[\w\-]+>/<controller:[\w\-]+>/<action:[\w\-]+>' => '<controller>/<action>',
                    ),
                ), 


o slug é um campo no banco com um nome que sera utilizado nas url, somente para ficar mais bonito.

Projeto tá online.
0

#6 User is offline   Márcio Lordelo 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 10-February 14

Posted 15 February 2014 - 10:35 AM

Consegui resolver! A baseUrl do CUrlManager era setada com o caminho todo da bagaça (/var/www/site.com/web/) quando não era definida no config. Fiz essa definição no config, dentro do array de componentes, informei que o 'request' tem a 'baseUrl' = '/web' e ai a url ficou clean
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