TP3.2路由URL问题记录

本文详细介绍了使用ThinkPHP框架进行URL优化的过程,包括配置路由、调整URL分隔符及解决线上环境中遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  最近上线的网站前台,需要对URL做优化,首先在前台配置文件中设置

'URL_ROUTER_ON'   => true,   // 开启路由 

 'URL_MODEL' => 2,  //开启重写模式,隐藏index.php。

 define('BIND_MODULE', 'Home'),   //默认绑定Home

 

然后在公共配置文件中:

/*路由配置*/
'MODULE_ALLOW_LIST' => array (
'Home',
'Admin',
),        //设定可访问模块
'DEFAULT_MODULE' => 'Home',      //默认访问模块,与前台配置文件呼应才能生效

  

由于URL路径/太多,打算将前台的 / 分隔符换成 连字符 -   ,后台的不用替换为-  ,于是在前台cof文件加上配置


'URL_PATHINFO_DEPR' => '-',

前台是给换成-了。(但是后如果也替换-,验证码就会出问题(可能后台路径写法的问题),不想去改后台)

 

********************************上线后,分割线……**************************************

上线linux环境后,又有问题:入口文件index.php不能被隐藏,看来是线上lamp环境跟线下wamp环境有差异造成的,分析有二:一是线上的http.conf可能跟线下的配置不一样;二是 linux系统严格区分大小写。于是找到解决办法:

(https://blog.youkuaiyun.com/changemust/article/details/79874966#commentBox)

hinkphp3.2.3,官网自带的.htaccess文件内不好使。
环境最好是phpstudy,为新人扫坑!
1.httpd.conf中去掉LoadModule rewrite_module modules/mod_rewrite.so 前面的#号
2.AllowOverride None 修改为了AllowOverride All
3.在config文件中添加以下配置: 
// URL地址不区分大小写
'URL_CASE_INSENSITIVE' => true,
//REWRITE模式
'URL_MODEL' => 2,
4.根目录.htaccess如果没有自己建也可以。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
Rewritebase /index.php
RewriteRule ^(.*)$ /index.php?/$1 [L]
</IfModule>

转载于:https://www.cnblogs.com/easyTrue/p/9361175.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值