laravel 项目配置路由会报 404 Not Found
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 之类的文件吧。