我想隐藏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
感觉你好像分组了。
我只知道我的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试下。
去除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]