本文主要和大家分享thinkphp去掉index.php的方法实例,希望能帮助到大家。
环境 : win10,apache,phpstudy,thinkPHP3.2
第一步,确认ThinkPHP目录下面的Conf文件夹下面的convention.php里面的
'URL_MODEL' => 2,
第二步,确认项目根目录下面的有.htaccess文件,并且里面内容是
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] </IfModule>
这里需要补充说明的是thinkPHP自带的这个文件里面倒数第二行没有"?"这个字符
第三步,确认httpd.conf文件里面的AllowOverride选项都为All,确认LoadModule rewrite_module modules/mod_rewrite.so是处于打开状态
第四步,配置虚拟主机:1.在httpd.conf文件夹中可以看到Include conf/vhosts.conf此项是默认打开状态,但是这个文件里面是空的,那么就让他空着好了,下面需要复制一行,添加自己的配置文件,很简单,如增加一行Include conf/myconfig/*.conf,这个意思是加载conf文件夹下面的myconfig文件夹下面的所有以.conf结尾的问价,这里需要特别说明的是,如果这里面如果没有以.conf结尾的文件后者有不是.conf结果的文件,则在apache重启的时候会报错.我在myconfig文件夹下面建立了一个文件叫testtp.conf,里面的内容如下:
<VirtualHost *:80> ServerName testtp DocumentRoot "D:/WWW/TestTp" ErrorLog "logs/testtp.local-error.log" CustomLog "logs/testtp.local-access.log" common <Directory "D:/WWWW/TestTp"> Options +Indexes +FollowSymLinks +ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> </VirtualHost>
这里需要注意的是
ServerNametesttp DocumentRoot "D:/WWW/TestTp" <Directory "D:/WWWW/TestTp">
第一行是配置hosts文件的时候,虚拟主机的名字要写对,二三行是说对应了项目的目录
第四步,在hosts文件中添加这一行
127.0.0.1 testtp
第五步,重启apache
原来的访问地址:
http://localhost/testtp/index.php/Home/Index/index
现在的访问地址:
http://testtp/Home/Index/index(注意,访问的时候要加上http://)
相关推荐:
thinkphp隐藏index.php/home,并允许访问其他模块
以上是thinkphp去掉index.php的方法实例的详细内容。更多信息请关注PHP中文网其他相关文章!