我想要的结果无非是去掉URL路径中的index.php 首先是配置.htaccess <IfModule> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule> 因为我部署在apache上面,需要httpd.conf配置文件中找到LoadModule rewrite_module modules/mod_rewrite.so去掉前面的 在使用ThinkPHP框架时,URL重写是一个常见的需求,它主要目的是为了使URL更加美观,隐藏实际的控制器和操作方法,提升用户体验。本篇文章将详细解释如何在Apache服务器上进行URL重写,以及解决ThinkPHP中相关的问题。 我们要理解URL重写的原理。在Apache服务器上,通常通过`.htaccess`文件来实现URL重写,这个文件位于网站根目录下,用来控制Apache服务器的 Rewrite 模块。`.htaccess`文件中,我们定义规则来将用户请求的URL转换为内部处理的路径。 对于ThinkPHP,我们需要在`.htaccess`文件中添加以下内容: ```apache <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule> ``` 这段代码的作用是,如果请求的文件不是一个实际存在的目录(!-d)或文件(!-f),则将请求的路径(^(.*)$)重定向到`index.php`后面加上原始路径,并且添加了[QSA,PT,L]参数,分别表示保留查询字符串、将重写后的URL作为实际URL处理和结束重写规则。 然而,为了使`.htaccess`文件生效,还需要在Apache的主配置文件`httpd.conf`中开启`mod_rewrite`模块,并允许`.htaccess`覆盖配置。你需要找到`LoadModule rewrite_module modules/mod_rewrite.so`行,移除前面的`#`以启用该模块,同时将`AllowOverride None`改为`AllowOverride All`,允许站点目录下的`.htaccess`文件生效。 接下来,ThinkPHP自身的配置也是关键。默认情况下,ThinkPHP使用URL_MODEL为1的模式,即“普通模式”,URL中会包含`index.php`。要达到去除`index.php`的效果,你需要将URL_MODEL设置为2,即“PATHINFO模式”。这可以在`conf/config.php`文件中进行修改,添加或更新如下配置: ```php 'URL_MODEL' => 2, ``` 然而,如果你使用的是基于ThinkPHP的Conist企业版2.0,你会发现`config.php`中存在这样的配置: ```php 'URL_MODEL' => C('TOKEN.false_static'), ``` 这里的`TOKEN.false_static`是一个动态配置,需要查看其值是否已经被设置为2。如果值为1,意味着仍然是PATHINFO模式,这时你需要检查初始化过程中对`TOKEN.false_STATIC`的赋值,确保其被正确设置为2。 在某些特定环境下,如新浪SAE,不支持`.htaccess`文件,你需要在`config.yaml`中添加类似如下重写规则: ```yaml handle: - rewrite: if: !is_dir() && !is_file() && path~"^(.*)$" goto: "index.php/$1" ``` ThinkPHP的URL重写涉及到服务器配置、`.htaccess`文件和框架自身的配置。正确设置这些部分,才能实现期望的URL形式。在遇到问题时,可以参考其他相关文章,例如ThinkPHP与Dwz的整合、JS中`U`方法的解析问题、分组后模板加载问题、session跨域问题、nginx与ThinkPHP的兼容性问题等,这些都可能为解决问题提供帮助。记住,理解和掌握URL重写机制以及ThinkPHP的配置机制,是解决此类问题的关键。
























- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 计算机网络技术的应用及安全防御关键研究.docx
- IBMCloudBurst云基础架构概述-云概念.docx
- 基于蚁群算法的RBF神经网络在冲量式谷物流量传感器中的应用.docx
- 《特种文献数据库》使用方法(论文资料).ppt
- 李俊杰--网络互连与实现-计算机科学与技术.doc
- 当代大学生网络安全教育对策研究.docx
- 项目管理真题精选讲解.doc
- 工程项目管理概述.ppt
- 高软件工程项目师简历Word模板.doc
- 最新网络安全信息ppt通用模板.pptx
- 经典机器学习算法的极简式代码实现方案 经典机器学习算法极简实现的完整呈现 面向经典机器学习算法的极简实现方法 经典机器学习算法极简风格实现教程 经典机器学习算法的极简化实现路径 经典机器学习算法极简实
- (源码)基于AVR单片机的红外遥控车辆控制系统.zip
- 基于互联网环境下的高校辅导员思政教育工作研究.docx
- 基于物联网的开放实验室管理系统设计.docx
- 嵌入式系统软件仿真器研究分析方案与实现.doc
- 关于机械工程项目管理的讨论.docx


