问题描述
我已将我的 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
结构
在我的本地机器上。网址是 localhost/backend/web
。在我的生产服务器上,我想要访问的 URL
是 xyz.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>