ホストされているサーバーには、単一の yii フレームワークを使用する yii ウェブサイトがいくつかあります。この特定のものでは、yii アプリをサブディレクトリに配置したいと考えています。開いている唯一のページはインデックスです。登録などの他のすべてのページに移動すると、404エラーページが表示されます。それは私にとって非常に異質であるため、htaccessファイルを使用する必要があります。
ディレクトリ構造。
site1、site2、または site3 ディレクトリではなく、app ディレクトリ内に yii webapp を配置できるようにする必要があります。
/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
config 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>',
),
),