欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

程序员文章站 2022-03-15 10:00:27
...

我想隐藏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,

但结果出来的是,

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

我很忧伤,

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

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

可以访问,并且省略了Home

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

或者只留

'URL_MODEL'             =>      '2',

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

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

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

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

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

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

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

PS:::

1:rewrite 已经打开.

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

2:AllowOverride 所有都改成了All
php框架 - thinkphp 在隐藏index.php和Home模块时有问题]

3: .htaccess 文件我也有

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

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

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

回复内容:

我想隐藏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,

但结果出来的是,

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

我很忧伤,

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

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

可以访问,并且省略了Home

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

或者只留

'URL_MODEL'             =>      '2',

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

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

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

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

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

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

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

PS:::

1:rewrite 已经打开.

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

2:AllowOverride 所有都改成了All
php框架 - thinkphp 在隐藏index.php和Home模块时有问题]

3: .htaccess 文件我也有

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

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

php框架 - thinkphp 在隐藏index.php和Home模块时有问题

去除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]