为啥 thinkphp(3.2.3) URL跳转后多了index.php?
Apache服务器
config文件配置是这样的
'URL_HTML_SUFFIX'=>'html',
'URL_CASE_INSENSITIVE' => true,
'URL_MODEL' => 2,
'URL_ROUTER_ON' =>true,
.htaccess文件配置是这样的
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
RewriteCond %{HTTP_HOST} ^xxx.cn [NC]
RewriteRule ^(.*)$ http://www.xxx.cn/$1 [L,R=301]
</IfModule>
问题是这样的:
目前通过xxx.cn可以正常跳转到www.xxx.cn,其他非首页链接跳转后会增加index.php,已测试没有这个index.php也是可以正常访问的,做了隐藏的,但是
比如xxx.cn/home/test/test/这样的非首页链接,跳转就会变成www.xxx.cn/index.php/home/test/test/
为什么会多了index.php?如何去掉这个index.php?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你是不是用到了tp的U方法生成链接地址啊?如果是的话,原因就是:index.php是tp的入口文件,他的作用是加载tp运行需要的所有资源,如果没有index.php,tp就无法正常处理请求!当你配置了apache重写规则,但是tp并不知道你配置了这个规则,所以必然的生成带index.php的访问url,便于下次请求的时候能正常处理,现在的这种情况,要不然你就自己手动添加访问的地址:例如U("User/Login")替换到/User/Login