php -S 启动项目访问路由报错处理

1、在入口文件的当前目录启动服务

php -S 127.0.0.1:9001

首页访问正常

当我点击菜单的时候,可以看到无法正常打开页面

但是如果你使用的nginx且正确配置伪静态规则的时候是可以正常访问的

bash 复制代码
location / {
if (!-e $request_filename){
rewrite  ^(.*)$  /index.php?s=$1  last;   break;
}
location ~* ^/static/upload/.*\.php$ {
      deny all;
      return 403;
    }
}

那么我们不使用nginx服务的话,只使用php如何实现正常访问,这时候我们可以根据规则从写一个新的入口文件,代码如下

php 复制代码
<?php
// router.php
$uri = urldecode(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));

// 静态文件直接返回
if ($uri !== '/' && file_exists(__DIR__ . $uri)) {
    if (preg_match('/\.(?:png|jpg|jpeg|gif|css|js|ico|html)$/', $uri)) {
        return false; // 让PHP内置服务器直接返回静态文件
    }
}

// 否则都交给FrPHP处理
include __DIR__ . '/index.php';

解决手工。

相关推荐
小徐不徐说3 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ragnwang3 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3273 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
Dxy12393102164 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷4 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
云和数据.ChenGuang5 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
nice_lcj5205 小时前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试
樱花树下的数学喵7 小时前
手写简易 STL string|C++ 字符串底层实现
开发语言·c++
jimy18 小时前
C++ 报错的 qualifiers 的意思
开发语言·c++