我已将laravel.phar内容正确地解压缩到 c:\ www \ laravel 。
我有两个问题,我认为是相关的。
1)
Route::get('/testdir', function()
{
return 'Working';
});
路线似乎部分正常工作,因为如果我设置的路线如下 2)并访问 localhost / laravel / public / ,我会看到" Base测试"正确。
2)
Route::get('/', function()
{
return 'Base test';
});
我的环境细节
Nginx.Conf文件设置
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root C:/www;
index index.php index.html index.htm;
}
location ~ \.php$ {
root C:/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
答案 0 :(得分:1)
您必须更新nginx配置以匹配laravel安装的公用文件夹。
以下是一个让您入门的示例:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
root C:/www/;
location / {
index index.php index.html index.htm;
}
location /laravel/ {
root C:/www/laravel/public/;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
location ~ \.php$ {
root C:/www/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
确保在对配置进行更改后重新启动nginx!
更新
由于我们现在在服务器级别定义了C:/www
,所以将根据在服务器级别进行的配置来提供所有内容。 `location / laravel /用它自己的块覆盖它。所有不在/ laravel /下的脚本都将像以前一样工作......