TP3.2路由URL问题记录

  最近上线的网站前台,需要对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.csdn.net/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>

posted @ 2018-08-09 12:04  庹明志的IT博客  阅读(299)  评论(0编辑  收藏  举报