本地开发好的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路由器正确配置,但仍然出现当前访问路由未定义或未匹配报错的解决方法

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部