无法在 cpanel 中路由 yii2 应用程序

问题描述

我已将我的 yii2 项目上传到我的 cpanel。我的 url 别名是 xyz.com。下面是我的索引和 ht 访问文件

Index.html

<?PHP
if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) {
    $uri = 'https://';
} else {
    $uri = 'http://';
}
$uri .= $_SERVER['HTTP_HOST'];
header('Location: '.$uri.'/backend/dashboard/');
exit;
?>
Something is wrong :-(

Index.PHP

<?PHP
defined('YII_DEBUG') or define('YII_DEBUG',true);
defined('YII_ENV') or define('YII_ENV','dev');

require(__DIR__ . '/../../vendor/autoload.PHP');
require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.PHP');
require(__DIR__ . '/../../common/config/bootstrap.PHP');
require(__DIR__ . '/../config/bootstrap.PHP');

$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../../common/config/main.PHP'),require(__DIR__ . '/../../common/config/main-local.PHP'),require(__DIR__ . '/../config/main.PHP'),require(__DIR__ . '/../config/main-local.PHP')
);

(new yii\web\Application($config))->run();

.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

结构

enter image description here

enter image description here

在我的本地机器上。网址是 localhost/backend/web。在我的生产服务器上,我想要访问的 URLxyz.com。但我只能访问 xyz.com/backend/web

如果我点击 URL xyz.com,我会收到 Something is wrong :-( 消息。

如果我删除 index.html 文件,则会收到 This page isn’t working 消息。

我如何访问它?任何帮助将不胜感激。

解决方法

在.htaccess

<IfModule mod_rewrite.c> 
  RewriteEngine on

  RewriteRule ^(.*)$ backend/web/$1 [L] 
</IfModule>