首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Yii2中启用干净网址

在Yii2中启用干净网址
EN

Stack Overflow用户
提问于 2014-10-23 17:42:08
回答 8查看 92.2K关注 0票数 66

如何在Yii2中启用干净的urls。我想删除index.php和'?‘从url参数。为此,需要在Yii2中编辑哪个部分?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2014-10-25 02:25:20

我让它在yii2中工作。为Apache启用mod_rewrite。对于basic template,请执行以下操作:在web文件夹中创建一个.htaccess文件,并添加以下内容

代码语言:javascript
运行
复制
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

然后在config文件夹中,在web.php中添加到组件

代码语言:javascript
运行
复制
'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>',
    ),
],

对于advanced template,在backend/webfrontend/web文件夹中创建.htaccess文件,并在common/config/main.php中添加urlManager组件

票数 160
EN

Stack Overflow用户

发布于 2015-04-07 07:02:23

第一个要点是,

在您的服务器(LAMP、WAMP、XAMP..etc)上启用了Module_Rewrite,以便在yii2框架中进行网址重新布线创建一个.htaccess文件并将其放入/web文件夹

代码语言:javascript
运行
复制
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

第二步

Config文件夹common/config/main-local.php添加到组件数组

代码语言:javascript
运行
复制
'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>',
   ),
],
票数 16
EN

Stack Overflow用户

发布于 2016-08-07 00:31:12

在nginx上这样配置

代码语言:javascript
运行
复制
location / {
    try_files $uri $uri/ /index.php$is_args$args;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26525320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档