在弄yii的url重写,希望能把url改成更好记的形式,同时去掉index.php的部分。转化前后的对比:
修改前: http://localhost/index.php?r=site/page?view=about
修改后: http://localhost/site/page?view=about
查了些资料完成以上的效果。我到环境是: apache2(httpd-2.2.21), PHP5.3.8, Yii 1.1.8
STEP 1
首先先确保apache2有rewrite模块,具体可通过phpinfo()看到apache的模块。
我在这步折腾了不少时间,不管怎么编译都出不来,最后是通过如下完成到:
cd /home/qteqpid/Software/httpd-2.2.3/modules/mappers/
/usr/local/apache2/bin/apxs -c mod_rewrite.c
/usr/local/apache2/bin/apxs -i -a -n mod_rewrite mod_rewrite.la
如果没出错,在/usr/local/apache2/modules/ 中就会有mod_rewrite.so了 注意,然后只能在httpd.conf文件里添加以下一行,,
LoadModule rewrite_module modules/mod_rewrite.so
重启apache即可。
STEP 2
然后修改protected/config/main.php,修改如下:
‘urlManager’=>array(
‘urlFormat’=>’path’,
‘showScriptName’=>false, // 这一步是将代码里链接的index.php隐藏掉。
‘rules’=>array(
‘<controller:\w+>/<id:\d+>’=>’<controller>/view’,
‘<controller:\w+>/<action:\w+>/<id:\d+>’=>’<controller>/<action>’,
‘<controller:\w+>/<action:\w+>’=>’<controller>/<action>’,
),
),
这一步之后,在yii里的所有链接将不会看到index.php,但还应该到apache在收到如此url请求时懂得加上index.php,这就需要url重写了。
STEP 3
有了STEP1的前提,就可以在yii项目的根目录(和index.php同级目录)下添加.htaccess目录,在里面写上:
<IfModule rewrite_module>
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
</IfModule>
相关推荐
以上是关于Yii2框架中URL重写并隐藏`index.php`的方法,以及与之相关的Nginx高级配置。通过这些设置,你可以为你的应用提供更加优雅且易于管理的URL结构。同时,Nginx的配置调整还可以帮助提升服务器性能和稳定性。
在Yii2中,实现RESTful接口能够帮助开发者构建高效、可维护的API。本文将深入探讨在Yii2框架下如何创建和认证RESTful URL接口,以及后续可能涉及到的接口多版本控制。 首先,让我们了解RESTful API的基本概念。REST...
5. 路由与模块:在Yii中,URL路由通过controller ID和action ID组合来识别一个特定的控制器和操作。此外,应用可以包含模块,以模块ID/controllerID/actionID的形式存在。 三、Yii1.1的Action概念: 1. Action定义...
在Yii框架中隐藏URL中的index.php文件是提升URL美观性和安全性的重要步骤。隐藏URL中的index.php不仅可以使URL看起来更简洁,还能增强网站的专业性和用户体验。此外,隐藏URL中的index.php有利于提升网站的SEO(搜索...
2. **调整 .htaccess 文件**:对于 Apache 服务器,可能需要编辑 `.htaccess` 文件以启用 URL 重写功能。 #### 五、结语 通过本文介绍的方法,你应该能够顺利完成 Yii 框架的安装。在实际操作过程中,如果遇到其他...
通过定义路由规则,可以将复杂的URL重写为简洁易懂的形式,同时保持内部处理的复杂性。 七、表单处理 Yii提供了强大的表单处理功能,包括表单创建、验证和提交。开发者可以方便地自定义验证规则,确保输入数据的...
3. **Rewrite规则**:_rewrite可能涉及URL重写规则,使CMS能够处理更美观的URL格式。 4. **临时文件管理**:_tmp目录可能是用于存放临时文件的地方,比如在处理用户请求或生成静态页面时使用。 **四、开源与免费** ...
然后,根据你的服务器配置,可能需要修改`web/.htaccess`或`web/index.php`来正确地设置URL重写规则。最后,启动Web服务器并访问`http://your_server/basic/web/`,你应该能看到Yii2的基础欢迎页面。 4. **开发流程...
6. 如果使用Apache,确保`.htaccess`文件配置正确以启用URL重写。 7. 设置Web服务器的DocumentRoot指向“basic/web/”目录。 8. 访问Web服务器的URL,按照Yii2的引导完成初始化设置。 在开发过程中,你可以根据需求...
Yii1.x是较早的版本,而Yii2.0是对框架的全面重写,提供了更现代的架构和更多的功能。学习这两个版本的手册可以帮助开发者了解Yii的历史演变,以及如何在不同项目中选择合适的技术栈。 文件名称列表中: 1. "Yii...
同时,还需要在服务器配置中开启URL重写模块,并配置.htaccess文件以支持重写规则。对于Apache服务器,通常在httpd.conf文件中加载mod_rewrite.so模块,并且在应用入口文件同级目录下创建一个.htaccess文件,其中...
6. SEO友好:通过元标签设置、URL重写等功能,"mtcms"可能有助于提高网站在搜索引擎中的排名。 7. 数据备份与恢复:系统可能内置了数据备份和恢复机制,保护网站数据免受意外损失。 8. 安装和升级:简洁的安装向导...
4. **路由(Routing)**:Yii2 的路由系统允许自定义URL模式,将URL映射到控制器和动作。 5. **扩展(Extensions)**:Yii2 社区提供了大量预建的扩展,如Gii(代码生成工具)、GridView(数据网格)、DetailView...
用法安装扩展后,只需通过以下方式在代码中使用它:移民迁移运行php yii migrate --migrationPath=@funson86/cms/migrations/common/config/main.php 中的配置 url 重写 'timeZone' => 'Asia/Shanghai' , //time ...
index.php 是应用的启动脚本,.htaccess 文件则用于设置 URL 重写规则,实现友好的路由。 7. **init** 脚本:这是一个初始化脚本,用于设置环境变量,如开发(dev)、测试(test)或生产(prod)环境。 8. **logs*...
.htaccess文件是Apache服务器的配置文件,位于项目目录中,用于定义访问控制和URL重写规则。通过配置.htaccess文件,可以实现隐藏index.php并美化URL。 - 在.htaccess文件中首先开启重写引擎,使用`RewriteEngine ...
- **实现方式**:通过修改Nginx配置文件来实现URL重写。 ##### 27. 实现多布局的应用程序 - **知识点**:根据不同场景使用不同的布局模板。 - **实现方式**:通过视图渲染逻辑来决定使用哪个布局文件。 ##### ...
6. **重写父类方法**:如果需要覆盖Yii内置的行为,可以重写父类中的方法。例如,如果你想要修改默认的错误处理,可以重写`error()`方法。 ```php public function error() { $exception = Yii::$app->error...
- **重写规则:** 如何配置 URL 重写规则以实现更美观的 URL 结构。 - **示例代码:** 提供具体的代码示例。 **6.2 日志记录 (Logging Errors)** - **错误日志:** 如何记录系统运行过程中发生的错误信息。 - **...