问题描述
它在我的 lohalhost 中运行良好,当我尝试将其放入服务器时发生此错误。
在 index.PHP
<?PHP defined('YII_DEBUG') or define('YII_DEBUG',true); defined('YII_ENV') or define('YII_ENV','dev');
require(__DIR__ . '/_protected/vendor/autoload.PHP'); require(__DIR__ . '/_protected/vendor/yiisoft/yii2/Yii.PHP'); require(__DIR__ . '/_protected/common/config/bootstrap.PHP'); require(__DIR__ . '/_protected/frontend/config/bootstrap.PHP');
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/_protected/common/config/main.PHP'),require(__DIR__ . '/_protected/common/config/main-local.PHP'),require(__DIR__ . '/_protected/frontend/config/main.PHP'),require(__DIR__ . '/_protected/frontend/config/main-local.PHP') );
$application = new yii\web\Application($config); $application->run();
.htaccess
RewriteEngine on
# hide files and folders
RedirectMatch 404 /_protected
RedirectMatch 404 /\.git
RedirectMatch 404 /composer\.
RedirectMatch 404 /.bowerrc
# If a directory or a file exists,use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.PHP
RewriteRule . index.PHP
解决方法
如果你使用 apache 设置 DocumentRoot /var/www/frontend/web
并将 .htaccess 文件添加到 /var/www/frontend/web 和内容
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php