在我的托管服务器上,我有几个使用单个 yii 框架的 yii 网站。在这个特定的应用程序上,我想将 yii 应用程序放在一个子目录中。唯一打开的页面是索引,当我转到所有其他页面(如注册)时,我得到一个 404 错误页面。一定是htaccess文件的东西,因为它对我来说太陌生了。
目录结构。
我需要能够将 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>',
),
),