Yii 1.1.7 - не удается найти страницу gii - PullRequest
6 голосов
/ 06 июня 2011

Я хочу использовать Gii в Yii.В моем защищенном / config / main.php для моего первого веб-приложения эта часть не закомментирована, как указано в документации по Yii для включения Gii (123.45.67.123 - это мой публичный IP-адрес с компьютера, к которому я пытаюсь получить доступ):

'modules'=>array(
            // uncomment the following to enable the Gii tool
            'gii'=>array(
                    'class'=>'system.gii.GiiModule',
                    'password'=>'123456',
                    // If removed, Gii defaults to localhost only. Edit carefully to taste.
                    'ipFilters'=>array('123.45.67.123','127.0.0.1','::1'),
            ),
    ),

Я также включил urlManager в моем защищенном / config / main.php, раскомментировав следующее:

// uncomment the following to enable URLs in path-format
            '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>',
                    ),
            ),

Когда я захожу на мой сайт Yii, например, www.example.org,базовая страница Yii загружается нормально.Когда я делаю www.example.org/gii, я получаю 404. Когда я захожу на www.example.org/index.php?r=gii, я получаю 404. Почему моя страница Gii не найдена?Я использую CentOS 5.6.

Ответы [ 7 ]

17 голосов
/ 06 июня 2011

Попробуйте:

http://www.example.org/index.php/gii

Кажется, у вас те же правила, что и я для URL.Если http://www.example.org приведет вас на главную страницу веб-приложения yii, то приведенная выше ссылка должна работать.

Вы переходите на http://www.example.org/gii, что неправильно.

3 голосов
/ 06 июня 2011

Я использую urlManager для gii

'urlManager'=>array(
    'urlFormat'=>'path',
    'cacheID' => false,
    //'caseSensitive' => true,
    'showScriptName' => false,
    'urlSuffix' => '/',
    'rules'=>array(
          'gii'=>'gii',
          'gii/<controller:\w+>'=>'gii/<controller>',
          'gii/<controller:\w+>/<action:\w+>'=>'gii/<controller>/<action>', 
...

, и он не конфликтует с маршрутами для других страниц сайта

2 голосов
/ 07 июня 2011

Можете ли вы опубликовать весь свой блок urlManager с включенным кодом @ briiC.lv?Он должен работать, он почти такой же, как у меня:

'urlManager'=>array(
    'urlFormat'=>'path',
    'rules'=>array( // remove gii for production:
        'gii'=>'gii',
        'gii/<controller:\w+>'=>'gii/<controller>',
        'gii/<controller:\w+>/<action:\w+>'=>'gii/<controller>/<action>',
        'site/index'=>'/',
        '<controller:\w+>'=>'site/<controller>',
        '<filter:(proj|dept)>/<id:\d+>'=>'site/',
    ),
    'showScriptName'=>false,
),

Если он по-прежнему не работает, вы также можете разместить / ссылку на свой полный файл main.config.

0 голосов
/ 06 декабря 2012

У меня только что была такая же проблема с URL и Gii, и я обнаружил, что написал не правильный IP-адрес.Когда я перешел на статистику сети, а затем добавил IP-адрес в ipFilters GII.

Надеюсь, это поможет!

0 голосов
/ 10 июля 2012

Я не смог получить доступ к www.example.org/gii, пока не добавил следующее в свой vhost config

<Directory /path/to/web/root>
  Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
0 голосов
/ 11 мая 2012

Если у вас включен режим перезаписи мод и вы хотите поместить следующее в файл htaccess

php_value upload_max_filesize 1M
DirectoryIndex index.php

Options +FollowSymlinks
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php

и добавьте следующее в массив 'urlManager' в файле config / main.php:

'showScriptName'=>false,

Удалит index.php из вашего URL и будет отображать только URL в виде domain.com/controller/action

.
0 голосов
/ 06 июня 2011

Вы пробовали с отключенным urlManager? Просто чтобы посмотреть, работает ли сам gii

...