Thinkphp6官方Apache伪静态无效的解决方法

admin94712个月前

前一直是用Nginx整TP框架,但考虑到Win本地开发用Apache性能会好一些,就尝试换了过来,但无奈发现官方提供的伪静态就是个坑,死活不生效,经过搜索发现,我这边的问题是因为官方提供的伪静态只在部分Apache上没有问题,别的都是不行的。有两种可能性,解决方法都很简单,如下:

一.替换规则

  1. <IfModule mod_rewrite.c>

  2.  Options +FollowSymlinks -Multiviews

  3.  RewriteEngine On

  4.  

  5.  RewriteCond %{REQUEST_FILENAME} !-d

  6.  RewriteCond %{REQUEST_FILENAME} !-f

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

  8. </IfModule>


替换成

  1. <IfModule mod_rewrite.c>

  2.  Options +FollowSymlinks -Multiviews

  3.  RewriteEngine On

  4.  

  5.  RewriteCond %{REQUEST_FILENAME} !-d

  6.  RewriteCond %{REQUEST_FILENAME} !-f

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

  8. </IfModule>

二.伪静态功能未启用

1.httpd.conf配置文件中加载了mod_rewrite.so模块

2.AllowOverride None 将None改为 All

3.重启Apache


文章下方广告位

网友评论