thinkphp路由正常配置 仍然当前访问路由未定义或未匹配

overme2个月前 (10-17)网页设计178
本地开发好的Thinkphp 网站程序,本地测试是通过的。上传到西部数据虚拟机服务器上后,首页可以正常显示。但是访问二级链接时,出现下图所示的“当前访问路由未定义或不匹配”的报错。

解决方法分享:

① 确认route.php路由文件是不是正确配置了。小编遇到的问题,下图的路由是配置好了的。

② 尝试修改链接
修改URL链接,在二级链接前加上index.php/后尝试访问,可以正常访问。通过这个测试,就知道了是链接规则的问题,那就得从伪静态方向找方法优化了。

③ 伪静态解决方法:
将下方代码存储为.htaccess文件,存储thinkphp public目录

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

复制代码

以上,就是thinkphp路由器正确配置,但仍然出现当前访问路由未定义或未匹配报错的解决方法

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。