thinkphp路由正常配置 仍然当前访问路由未定义或未匹配
本地开发好的Thinkphp 网站程序,本地测试是通过的。上传到西部数据虚拟机服务器上后,首页可以正常显示。但是访问二级链接时,出现下图所示的“当前访问路由未定义或不匹配”的报错。
解决方法分享:
① 确认route.php路由文件是不是正确配置了。小编遇到的问题,下图的路由是配置好了的。
② 尝试修改链接
修改URL链接,在二级链接前加上index.php/后尝试访问,可以正常访问。通过这个测试,就知道了是链接规则的问题,那就得从伪静态方向找方法优化了。
③ 伪静态解决方法:
将下方代码存储为.htaccess文件,存储thinkphp public目录
- <IfModule mod_rewrite.c>
- Options +FollowSymlinks -Multiviews
- RewriteEngine On
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_URI} !(\.html)$ [NC]
- RewriteRule ^/?(.*)$ /$1.html [QSA,R=301,L]
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
- </IfModule>
复制代码
以上,就是thinkphp路由器正确配置,但仍然出现当前访问路由未定义或未匹配报错的解决方法