Apache重写引擎不在子域上工作

时间:2013-04-02 23:04:17

标签: mod-rewrite yii apache2

我正在使用Yii框架并在.htaccess中使用以下代码:

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

我在URL管理器中使用此代码来制作SEO-URL:

'urlManager'=>array(
  'urlFormat'=>'path',
  'rules'=>array(
  ''=>'site/index',
  'admin'=>'admin/default/login',
  '<action:\w+>'=>'site/<action>',
  array('page/view', 'pattern'=>'/<url:(\w|-)+>.html', 'caseSensitive'=>false),
  array('category/view', 'pattern'=>'category/<url:(\w|-)+>', 'caseSensitive'=>false),
  array('product/view', 'pattern'=>'product/<url:(\w|-)+>', 'caseSensitive'=>false),
),
  'showScriptName'=>false,
),

它在我的本地计算机上运行良好。但是,当我试图将它应用于我的VDS时我得到服务器,只有当这个代码在子域上工作时,例如:我有blah-blah.com - 这个代码有效,但如果我有new.blah-blah.com(这应该是不同的网站,与blah-blah.com没有任何共同之处)我收到以下错误(内部服务器错误500): 内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求。

请与服务器管理员联系,[我的电子邮件]并告知他们错误发生的时间,以及可能导致错误的任何操作。

服务器错误日志中可能提供了有关此错误的更多信息。

在apache的日志中,我一无所获。

1 个答案:

答案 0 :(得分:0)

您可以将错误记录到文件或发送到邮件。

你的config / main.php中的

 'log'=>array(
                    'class'=>'CLogRouter',
                    'routes'=>array(
                            array(
                                    'class'=>'CFileLogRoute',
                                    'levels'=>'error, warning',
                            ),
                            array(
                                    'class'=>'CEmailLogRoute',
                                    'levels'=>'error, warning',
                                    'emails'=>'yourmail@yourdomain.com',
                            ),

                    ),
             ),