2013-07-03 118 views
0

在我的托管服务器上,我有几个使用单个yii框架的yii网站。在这个特定的一个,我想把yii应用程序放在一个子目录中。唯一的页面是开放的索引,当我去所有其他页面像注册我得到一个404错误页面。必须是htaccess文件的东西,因为它对我来说很陌生。在子目录中安装yii

目录结构。

我需要能够将yii webapp放在app目录中,而不是site1,site2或site3目录中。

/yiiframework 
    /site1 
    /site2 
    /site3/app 

索引文件

<?php 

// change the following paths if necessary 
$yii=dirname(__FILE__).'/../../yii/framework/yii.php'; 
$config=dirname(__FILE__).'/protected/config/main.php'; 



require_once($yii); 
Yii::createWebApplication($config)->run(); 

的.htaccess

Options +FollowSymLinks 
IndexIgnore */* 
RewriteEngine on 
RewriteBase/


# 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 

配置main.php URL管理器设置

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

     ), 
    ), 
+1

我不能重现你的问题,但我认为根.htaccess可能会与您的网站-htaccess冲突。尝试删除(重命名)/ yiiframework中的.htaccess并进行测试。当你完成后,不要忘记恢复它!还要检查资产和运行时文件夹是否可写入。 – ippi

+0

检查config/main.php中的basePath值 – ineersa

回答

0

蚂蚁scripts-这是你所需要的兄弟。在与哈德森(teamcity等)公司只是一个魔术=)