Vuejs / Laravel路线在生产中不起作用

时间:2019-02-14 05:27:04

标签: laravel vue.js vuejs2

我们为前端提供了一个vue.js SPA,为后端提供了一个 laravel RESTapi。

在我的SPA中,我有一条不受保护的路由,称为return

{
      path: '/return',
      component: returnPage
},

当我在本地计算机上运行项目时,我可以轻松访问此路由 像这样

http://localhost:8080/return

但是在我构建项目并将其托管在服务器中以及尝试插入此项目之后

http://emaster.lk/return

这给我一个错误。

enter image description here

为什么会发生这种情况? 有想法吗?

1 个答案:

答案 0 :(得分:0)

仍然无法发表评论,因此这基本上不是答案,而是建议:

这可能是服务器配置错误,我与apache服务器进行了很多交互,但通常我会使用nginx,您可以在此处使用nginx和laravel laravel-nginx-ss-setup

检出示例配置

这只是帖子的快照:

server {
listen 80 default_server;

server_name domain_name.com www.domain_name.com;

access_log /var//www/html/<name-of-your-project>/logs/access.log;
error_log /var/www/html/<name-of-your-project>/logs/error.log;

root /var/www/html/<name-of-your-project>/public;
index index.php index.html;

# serve static files directly
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
    access_log off;
    expires max;
    log_not_found off;
}

# removes trailing slashes (prevents SEO duplicate content issues)
if (!-d $request_filename)
{
    rewrite ^/(.+)/$ /$1 permanent;
}

# enforce NO www
if ($host ~* ^www\.(.*))
{
    set $host_without_www $1;
    rewrite ^/(.*)$ $scheme://$host_without_www/$1 permanent;
}

# unless the request is for a valid file (image, js, css, etc.), send to bootstrap
if (!-e $request_filename)
{
    rewrite ^/(.*)$ /index.php?/$1 last;
    break;
}

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

location ~* \.php$ {
    try_files $uri = 404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # may also be: 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

location ~ /\.ht {
    deny all;
}

}