thinkphp6在nginx上伪静态的一个问题

  • Post author:
  • Post category:php


thinphp6伪静态莫名的出错,后来搜了半天,最后发现一个贴子最后弄好了。

特此记录一下。

thinkphp6提供的apache伪静态规则是 .htaccess

<IfModule mod_rewrite.c>

Options +FollowSymlinks -Multiviews

DirectoryIndex index.php

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

</IfModule>

这个规则在部分apache上没有问题,但在有些服务器上却出错,哪些版本我没细研究,反正上面的出错,换下面的就可以

把最后一句换成

RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  DirectoryIndex index.php
  RewriteEngine On
 
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>

然后就好了。