推荐:《php视频教程》
隐藏的index.php
ps:这里说的入口文件指的是公共/ index.php文件,配置文件就在这个目录下
可以去掉url地址里面的入口文件index.php,但是需要额外配置web服务器的重写规则。
以apache为例,在需要文件入口的同级添加.htaccess文件(官方默认自带了该文件),内容如下:
<ifmodule mod_rewrite.c>options +followsymlinks -multiviewsrewriteengine onrewritecond %{request_filename} !-drewritecond %{request_filename} !-frewriterule ^(.*)$ index.php/$1 [qsa,pt,l]</ifmodule>
如果用的phpstudy,规则如下:
<ifmodule mod_rewrite.c> options +followsymlinks -multiviews rewriteengine on rewritecond %{request_filename} !-d rewritecond %{request_filename} !-f rewriterule ^(.*)$ index.php [l,e=path_info:$1] </ifmodule>
如果index.php文件存放在public中,规则如下:
<ifmodule mod_rewrite.c> options +followsymlinks -multiviews rewriteengine on rewritecond %{request_filename} !-d rewritecond %{request_filename} !-f rewriterule ^(.*)$ public/index.php [l,e=path_info:$1] </ifmodule>
接下来就可以使用下面的url地址访问了
http://tp5.com/index/index/indexhttp://tp5.com/index/index/hello
如果使用你的apache版本使用上面的方式无法正常隐藏index.php,尝试可以使用下面的方式配置.htaccess文件:
<ifmodule mod_rewrite.c>options +followsymlinks -multiviewsrewriteengine onrewritecond %{request_filename} !-drewritecond %{request_filename} !-frewriterule ^(.*)$ index.php?/$1 [qsa,pt,l]</ifmodule>
如果的英文nginx环境的话教育,在可以nginx.conf中添加:
location / { // …..省略部分代码 if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; }}
推荐:《thinkphp教程》
以上就是tp5如何隐藏index.php文件的详细内容。
