yii2静态页面
我不能显示静态页面。尝试按照doc here(第100页)中的描述进行操作,但是当我启用prettyurl时,它就不起作用了 在urlManager规则中添加:yii2静态页面,yii2,yii-url-manager,viewaction,Yii2,Yii Url Manager,Viewaction,我不能显示静态页面。尝试按照doc here(第100页)中的描述进行操作,但是当我启用prettyurl时,它就不起作用了 在urlManager规则中添加: 'urlManager' => array( 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => array( '' => 'site/index', 'login' =&g
'urlManager' => array(
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => array(
'' => 'site/index',
'login' => 'site/login',
'contacts' => 'site/contact',
'<view:(break)>'=>'/site/page?&view=<view>',
),
),
然后创建views/site/pages/break.php
<h1>View static page Break</h1>
然后我可以看到我的页面输入url:index.php?r=site/page&view=break
ViewAction有什么问题?我认为您的url管理规则部分做得不对。 试试这个
'urlManager'=>[
'class'=>'yii\web\UrlManager',
//禁用index.php
'showScriptName'=>false,
//禁用r=路由
“enablePrettyUrl”=>true,
'规则'=>数组(
“/”=>“/视图”,
'//' => '/',
'/' => '/',
),
],
规则部分应该很重要。我曾经尝试过这种方法(没有规则规范):
我解决了我的问题。使用这些行:
'<view:(break)>' => 'site/page',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
''=>'站点/页面',
“/”=>“/视图”,
'//' => '/',
'/' => '/',
我强制使用页面的特定名称进行查看,在我的例子中是“break”,因为不能使用这个名称
'<view:[a-zA-Z0-9-]+>' => 'site/page',
''=>'站点/页面',
(它会导致其他规则崩溃。)我认为它可以更好地创建扩展UrlRule的“自己的规则类”,但现在我不需要它了。解决方案很简单:
'rules'=>[
“站点/页面/”=>“站点/索引”,
公共功能操作索引($view)
{
返回$this->render('/site/pages/'.$view);
}捕获(无效的$e){
抛出新的HttpException(404);
}
4.感谢samdark及其文章是的,现在“site/page?&view=break”打开了page break.php,但是如何创建更为seo友好的url?就像“site.ru/break”
'=>'site/page'
这是一条路!注意,这条规则也应该起作用:'=>'site/page'
应该最后声明,否则它将我知道所有其他的模式。
'urlManager' => [
'class' => 'yii\web\UrlManager',
// Disable index.php
'showScriptName' => false,
// Disable r= routes
'enablePrettyUrl' => true,
'rules' => array(
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
],
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => 'false'
],
'<view:(break)>' => 'site/page',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'<view:[a-zA-Z0-9-]+>' => 'site/page',