Home > Article > Backend Development > php框架 - thinkphp 在隐藏index.php和Home模块时有问题
我想隐藏home和index.php
原来是这样的
<code>http://localhost/index.php/Home/Index/test.html</code>
然后我加了配置文件
<code>'MODULE_ALLOW_LIST' => array('Home'), 'DEFAULT_MODULE' => 'Home', 'URL_MODEL' => '2',</code>
目的是隐藏index.php和home,
但结果出来的是,
我很忧伤,
如果把配置文件改一下
只留
<code>'MODULE_ALLOW_LIST' => array('Home'), 'DEFAULT_MODULE' => 'Home',</code>
可以访问,并且省略了Home
或者只留
<code>'URL_MODEL' => '2',</code>
也可以访问,同时也省略了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
我想隐藏home和index.php
原来是这样的
<code>http://localhost/index.php/Home/Index/test.html</code>
然后我加了配置文件
<code>'MODULE_ALLOW_LIST' => array('Home'), 'DEFAULT_MODULE' => 'Home', 'URL_MODEL' => '2',</code>
目的是隐藏index.php和home,
但结果出来的是,
我很忧伤,
如果把配置文件改一下
只留
<code>'MODULE_ALLOW_LIST' => array('Home'), 'DEFAULT_MODULE' => 'Home',</code>
可以访问,并且省略了Home
或者只留
<code>'URL_MODEL' => '2',</code>
也可以访问,同时也省略了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
去除index.php
1.httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置
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]