laravel 项目本地从 xampp 切换到 phpstudy 之后,使用 Nginx 服务器,访问突然就报错了:404 Not Found

毫无疑问,肯定是服务器或者虚拟主机配置问题了。在网上找解决方案,果然是这方面的问题。在 xampp 下 Apache 应该是有默认的路由优化,可以将默认入口文件 index.php 隐藏。

Apache 服务器(可以解析 .htaccess):

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Nginx 服务器(在虚拟主机配置里添加):

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

打开 phpstudy 网站管理中的伪静态,根据启动的服务器类型添加相应的规则,然后保存就可以了。我开启的是 Nginx,它默认在网站根目录生成了一个 nginx.htaccess。默认还生成了一个 .htaccess,应该对应的是 Apache 服务器。大概程序会自动扫描 .htaccess 之类的文件吧。