ThinkPHP在Apache和Nginx下去除index.php方法

时间:2023-03-09 19:37:15
ThinkPHP在Apache和Nginx下去除index.php方法

由于项目需要,用ThinkPHP开发的程序链接要去除index.php下面说下如何解决。
一.Nginx方法

由于nginx不支持PATH_INFO,所以需要进入linux终端找到nginx 的配置文件nginx.conf添加如下代码:

location /
{ if (!-e $request_filename)
{
rewrite ^(.*)$ /index.php?s=$ last; break;
}
}

使用如下:

server
{ listen ;
server_name www.blhere.com; index index.html index.htm index.php;
root /data/htdocs/wwwroot/www; #limit_conn crawler ; location /
{ if (!-e $request_filename)
{
rewrite ^(.*)$ /index.php?s=$ last; break;
}
} location ~ .*\.(php|php5)?$
{ #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
include fcgi.conf;
} location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
} location ~ .*\.(js|css)?$
{
expires 1h;
}
}

二.apache

[ Apache ]

  1. httpd.conf配置文件中加载了mod_rewrite.so模块
  2. AllowOverride None 将None改为 All
  3. 把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下
    <IfModule mod_rewrite.c>
    Options +FollowSymlinks -Multiviews
    RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$ [QSA,PT,L]
    </IfModule>

有时候index.php后面加加? ---->index.php?/

参考:https://www.kancloud.cn/manual/thinkphp5_1/353955

转: https://www.cnblogs.com/behindman/p/8667731.html