我正在尝试在项目的子文件夹(laravel-project
)中设置laravel。
我得到了主页的工作,在配置文件中执行此操作:
rewrite "/project/home.php" /laravel-project/public/index.php$1;
然而,我无法弄清楚如何使路由工作。
我希望任何包含laravel-project
的请求都会被重定向到laravel-project/public/index.php
,以便laravel可以确定要调用哪个控制器和哪个方法。
我这样做了:
location /laravel-project {
root /home/www/virtual/mysite/laravel-project/public;
try_files $uri $uri/ /index.php?$query_string;
}
但是,当我尝试导航到mysite/laravel-project
或mysite/laravel-project/contacts
时,应用程序永远不会访问laravel-project文件夹中的public/index.php
文件。
希望所提供的信息足够。如果需要进一步的信息,请告诉我,谢谢你的帮助!
答案 0 :(得分:1)
# megadealer
location ^~ /megadealer {
alias /var/www/choppies/megadealer/public;
try_files $uri $uri/ @megadealer;
location ~ \.php {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME /var/www/choppies/megadealer/public/index.php;
}
}
location @megadealer {
rewrite /megadealer/(.*)$ /megadealer/index.php?/$1 last;
}
# end megadealer
答案 1 :(得分:1)
我想提出一些新的更新提示,也许对某人有帮助:
如果您想将laravel
项目放在具有subfolder
的服务器上的ngnix-ubuntu 16-php.7.2
中,那么这里是update ngnix config:
1)您嵌套的(子文件夹)不在主文件夹中
/var/www/main:
/var/www/nested:
然后配置:
location /nested {
alias /var/www/nested/public;
try_files $uri $uri/ @nested;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}
location @nested {
rewrite /nested/(.*)$ /nested/index.php?/$1 last;
}
2)您主目录中的laravel-test文件夹(子文件夹):
/var/www/main:
/var/www/main/nested:
然后配置:
location /laravel-test {
alias /var/www/main/laravel-test/public;
try_files $uri $uri/ @laravelTest;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}
location @laravelTest {
rewrite /laravel-test/(.*)$ /laravel-test/index.php?/$1 last;
}
答案 2 :(得分:1)
我找到了在子文件夹中部署laravel的正确配置
location /websocket {
alias /var/www/html/websocket/public;
try_files $uri $uri/ @websocket;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
location @websocket {
rewrite /websocket/(.*)$ /websocket/index.php?/$1 last;
}