• 技术文章 >php框架 >ThinkPHP

    thinkphp如何去除index.php

    藏色散人藏色散人2020-10-29 09:46:50原创903

    thinkphp去除index.php的方法:首先加载mod_rewrite.so模块;然后将AllowOverride None中的None改为all;最后将htaccess文件放到根目录下即可。

    Thinkphp中去除URL里的index.php

    例如你的原路径是 http://localhost/test/index.php/index/add

    那么现在的地址是 http://localhost/test/index/add

    如何去掉index.php呢?

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

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

    2.AllowOverride None 讲None改为 All //在APACHE里面去配置

    <Directory "D:/server/apache/cgi-bin">
    AllowOverride none 改 AllowOverride ALL
    Options None
    Order allow,deny
    Allow from all
    </Directory>

    3.确保URL_MODEL设置为2,

    在项目的配置文件里写

    return Array(
    'URL_MODEL' => '2',
    );

    4 .htaccess文件必须放到跟目录下

    这个文件里面加:

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

    补充:在windows下不能建立以点开头的文件,你可以先随便建立一个文件

    然后在DOS在操作 rename xxxx.xxxx .htaccess

    或者打开记事本写入htaccess然后另存为.htaccess即可

    如果出现403错误则将.htaccess打开在开头添加Options +FollowSymlinks

    即:

    Options +FollowSymlinks
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
    </IfModule>

    即可解决.

    无权限也是加上Options +FollowSymlinks

    以上就是thinkphp如何去除index.php的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:thinkphp
    上一篇:详解ThinkPHP框架之验证码 下一篇:关于ThinkPHP6使用过程中的一些总结
    大前端线上培训班

    相关文章推荐

    • ThinkPHP容器之你不知道的count用法• ThinkPHP容器之初步解析• ThinkPHP容器之绑定参数• 详解ThinkPHP框架之验证码

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网