php框架 - thinkphp 在隐藏index.php和Home模块时有问题
ringa_lee
ringa_lee 2017-04-10 17:48:48
[PHP讨论组]

我想隐藏home和index.php
原来是这样的

http://localhost/index.php/Home/Index/test.html

然后我加了配置文件

'MODULE_ALLOW_LIST'     =>      array('Home'),
'DEFAULT_MODULE'        =>      'Home',
'URL_MODEL'             =>      '2',

目的是隐藏index.php和home,

但结果出来的是,

我很忧伤,

如果把配置文件改一下
只留

'MODULE_ALLOW_LIST'     =>      array('Home'),
'DEFAULT_MODULE'        =>      'Home',

可以访问,并且省略了Home

或者只留

'URL_MODEL'             =>      '2',

也可以访问,同时也省略了Index.php

为什么不能同时省略Home和index.php呢???

我现在的环境是 apache2.4.18+php7.0.4

rewrite我确定已经打开了.不知道各位大神怎么解决小弟的问题.

是不是Thinkphp在apache2.4.18下存在这种问题?其他都正常???

PS:::

1:rewrite 已经打开.

2:AllowOverride 所有都改成了All
]

3: .htaccess 文件我也有

4.thinkphp Application/Common/conf/config.php

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
黄舟

去除index.php

1.httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置

LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉

2.AllowOverride None 讲None改为 All //在APACHE里面去配置 (注意其他地方的AllowOverride也统统设置为ALL)

AllowOverride none 改 AllowOverride ALL
Options None
Order allow,deny
Allow from all

3.确保URL_MODEL设置为2,在项目的配置文件里写
return Array(
'URL_MODEL' => '2',
);

4 .htaccess文件必须放到跟目录下
这个文件里面加:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

迷茫

感觉你好像分组了。

我只知道我的3.1.5 for php7上是这样设置的:

'DEFAULT_GROUP' => 'Default',
'DEFAULT_MODULE' => 'Index',
'URL_MODEL' => 2,
'APP_GROUP_MODE' => 1,//是否使用独立分组
'APP_GROUP_PATH' => 'Application',//独立分组路径
'APP_GROUP_LIST' => 'Default,Admin,Article',

Application项目目录里必须有default目录,表示模块。DEFAULT_MODULE表示默认的controller。

你把对应的配置改为3.2试下。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号