nginx重写路由后请求文件失败404
RT 对Nginx设定这块我有些不太懂,但是很多大大们的帮助下 基本laravel的路由访问什么的都没问题了, 唯一的问题是,在debug工具下 会显示404 文件找不到
举个例子
我的nginx根目录设定的是 public目录
比如我要访问的是 localhost/XXX
那根据我的route设定Route::get('XXX','XXXController@index');
浏览器确实读取到的是我index方法中的执行的结果,可是debug工具中查看信息,它还是要请求localhost/XXX 这个文件 并且当然是肯定找不到的
所以想请教各位大大 造成这个问题的原因是我哪里设定的不对? 怎么设定 会使它不去找这个文件 而是直接帮我解析我要指向的方法就好了
举个例子
我的nginx根目录设定的是 public目录
比如我要访问的是 localhost/XXX
那根据我的route设定Route::get('XXX','XXXController@index');
浏览器确实读取到的是我index方法中的执行的结果,可是debug工具中查看信息,它还是要请求localhost/XXX 这个文件 并且当然是肯定找不到的
所以想请教各位大大 造成这个问题的原因是我哪里设定的不对? 怎么设定 会使它不去找这个文件 而是直接帮我解析我要指向的方法就好了
1 个回复
f39516046 - 在WEB领域匍匐前进中。。ThinkPHP Laravel
赞同来自: FiveSay
最后从网上找了一段设定, 我也不知道是什么原理 但是这段设定就解决 所有路径找不到的问题
.
location / {
try_files $uri $uri/ /index.php?$query_string;
}
server {
listen 8080;
root /nginx/releaseImage/public;
server_name localhost;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
include fastcgi_params;
}
error_page 404 /index.php;
}