Yii Framework Forum: После Переноса На Хостинг (Centos) Сломался Urlmanager - Yii Framework Forum

Jump to content

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

После Переноса На Хостинг (Centos) Сломался Urlmanager Rate Topic: -----

#1 User is offline   BigBadHort 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 14-June 14

Posted 14 June 2014 - 11:48 PM

Всем привет!

Сайт собранный на OpenServer имеет следующие настройки


        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                '<controller:\w+>/<id:\d+>'=>'<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
            ),
            'showScriptName'=> false,
        ), 


Так же еще подцепил к yii bootstrap (думаю это важно)

После переноса на хостинг (Centos) - пытаюсь перейти по любой из ссылок меню.

Выдает:

Quote

Not Found

The requested URL /cms_hort/page/index/id/2 was not found on this server.


Как только комментирую 'showScriptName'=> false,
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                '<controller:\w+>/<id:\d+>'=>'<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
            ),
            //'showScriptName'=> false,
        ), 


Начинает нормально работать...

На apache модуль mod_rewrite - подключен

В файле .htaccess имеются следующие директивы:

AddDefaultCharset utf-8

RewriteEngine on

# не позволять httpd отдавать файлы, начинающиеся с точки (.htaccess, .svn, .git и прочие)
RedirectMatch 403 /\..*$
# если директория или файл существуют, использовать их напрямую
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# иначе отправлять запрос на файл index.php
RewriteRule . index.php



Прошу помощи!!!!

з.ы. Вот еще одна проблема

Ругается на

Echo Yii::app()->theme->baseUrl - Trying to get property of non-object


в \protected\views\layouts\main.php

(на OpenServer все работало)

Было подозрение на регистрозависимость - проверил, все папки с маленькой буквы...

Ткните носом - плиззззз!!!
0

#2 User is offline   migel 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 08-February 09
  • Location:Russia

Posted 15 June 2014 - 05:23 PM

По первой проблеме:
Попробуйте в первую очередь расположить правила в таком порядке:

'urlManager'=>array(
    'urlFormat'=>'path',
    'rules'=>array(
        '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
        '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
        '<controller:\w+>/<id:\d+>'=>'<controller>/view',
    ),
    'showScriptName'=> false,
),


Т.е. самое детальное правило должно быть вверху списка подобных ему. Не раз сталкивался, что на разных системах порядок применения правил urlManager отличалось...
0

#3 User is offline   BigBadHort 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 14-June 14

Posted 17 June 2014 - 12:08 PM

View Postmigel, on 15 June 2014 - 05:23 PM, said:

По первой проблеме:
Попробуйте в первую очередь расположить правила в таком порядке:

'urlManager'=>array(
    'urlFormat'=>'path',
    'rules'=>array(
        '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
        '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
        '<controller:\w+>/<id:\d+>'=>'<controller>/view',
    ),
    'showScriptName'=> false,
),


Т.е. самое детальное правило должно быть вверху списка подобных ему. Не раз сталкивался, что на разных системах порядок применения правил urlManager отличалось...


К сожалению - не помогло :-(

Для проверки установил с нуля сервер на Ubuntu Server x32 14.04

Архив с дистрибутивом Юппи! 0.7 распаковал в директорию апача

/protected и /assets дал права на запись

Первая страница загружается, но при выборе языка "Русский"

Выходит сообщение:

Quote

Not Found

The requested URL /yupe/public/install/default/environment was not found on this server.


Что за напасть? там вроде все должно быть правильно с регистрами!!!
0

#4 User is online   Mihail 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 108
  • Joined: 29-June 13

Posted 17 June 2014 - 01:08 PM

а хтакчес вообще работает?
Быстро ссылки:
Yii - http://www.yiiframework.com/download/
Полное руководство по Yii - http://www.yiiframew...de/1.1/ru/index
Class Reference - http://www.yiiframework.com/doc/api/
Расширения - http://www.yiiframew...com/extensions/
0

#5 User is offline   ineersa 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 283
  • Joined: 15-April 13
  • Location:Ukraine

Posted 18 June 2014 - 01:47 AM

Quote

/protected и /assets дал права на запись

Вы так не шутите. В /protected открывать нужно только runtime, остальное все должно быть скрыто.

А насчет вашей проблемы - у вас не работает mod_rewrite, связано это может быть с чем угодно, но скорее всего с ошибками в htaccess или в конфигах апача.

Проверьте AllowOverride all в конфиге, попробуйте на чистой установке yii c стандартным htaccess:
Options +FollowSymLinks
IndexIgnore */* 
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php


Если работает, то проблема у вас с htaccess, если же нет - проблема с конфигами апача и mod_rewrite.

Также обязательно проверьте наличие лишних пробелов и enter-ов в htaccess.
0

#6 User is offline   BigBadHort 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 14-June 14

Posted 19 June 2014 - 07:51 AM

View Postineersa, on 18 June 2014 - 01:47 AM, said:

Вы так не шутите. В /protected открывать нужно только runtime, остальное все должно быть скрыто.



А насчет вашей проблемы - у вас не работает mod_rewrite, связано это может быть с чем угодно, но скорее всего с ошибками в htaccess или в конфигах апача.

Проверьте AllowOverride all в конфиге, попробуйте на чистой установке yii c стандартным htaccess:
Options +FollowSymLinks
IndexIgnore */* 
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php


Если работает, то проблема у вас с htaccess, если же нет - проблема с конфигами апача и mod_rewrite.

Также обязательно проверьте наличие лишних пробелов и enter-ов в htaccess.



О да - соррри - конечно же /protected/runtime

Поклятый Т9! :-)


Вы оказались правы!!!


Не работал mod_rewrite


Теперь Юппи заработал значит другое не работает из за регистра в названиях классов

Спасибо ВАМ огромное!!!
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