0

我在 EC2 上使用 Yii 框架设置了一个 Web 应用程序。当我在 EC2 实例上传输文件时,出现此错误

CException

The URL pattern "<controller:\w+>/<id:\d+>" for route "<controller>/view" is not a valid regular expression.

/var/www/html/framework/web/CUrlManager.php(700)

我在 main.php 中的 URL 规则是

'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>',
            ),
        ),

我在控制器文件夹中有一个名为“ApiController.php”的控制器。在我的本地机器上它工作正常,但问题出在 EC2 实例上。

这些是 main.php 中的一些配置

'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
    'name'=>'AppName',
    'defaultController'=>'Api',
4

1 回答 1

1

使用这个作为 .htaccess 来回答我自己的问题消除了错误

Options +FollowSymLinks
IndexIgnore */*
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
于 2012-08-10T12:44:53.743 回答