Nginx/Apache/...下php5.6+版本不支持pathinfo的方法

  1. 以thinkphp为例子,.htaccess文件如下

  2. <IfModule mod_rewrite.c>
  3. Options +FollowSymlinks -Multiviews
  4. RewriteEngine On
  5. RewriteCond %{REQUEST_FILENAME} !-d
  6. RewriteCond %{REQUEST_FILENAME} !-f
  7. RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
  8. </IfModule>


直接"/"的pathinfo设置伪静态的话,我一开始以为可以了,后来访问发现404。

才意识到可能是拓展或者配置的问题。

针对nginx,直接把/conf/nginx.conf中的include php-fpm.conf改成:include php-pathinfo.conf即可

然而如果还有问题,就把伪静态的index.php/改成index.php?即可

thinkphpk可以识别

Leave a Comment