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

 
更多

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

有两种可能性,解决方法都很简单,如下:

一.替换规则

将:
<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
  
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
替换为:
<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>

实际上就是将最后一行规则改掉就行

二.伪静态功能未启用

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

AllowOverride None 将None改为 All

重启Apache

打赏

本文固定链接: https://www.cxy163.net/archives/2657 | 绝缘体

该日志由 绝缘体.. 于 2022年07月24日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: ThinkPHP6官方Apache伪静态无效的解决方法 | 绝缘体

ThinkPHP6官方Apache伪静态无效的解决方法:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter