You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新DigitalOcean Droplet上新路由/URL失效,本地及其他Droplet正常

问题:新DigitalOcean Droplet上Laravel新路由失效,旧路由正常

我们的项目采用Laravel 9 + Inertia + VueJs 3技术栈。近期发现,新创建的DigitalOcean Droplet上新路由无法正常工作,但本地环境及其他DigitalOcean Droplet上均运行正常,且该新Droplet使用了与其他Droplet相同的应用模板。

复现步骤

部署最新代码后发现该问题,旧路由可正常运行,但新路由失效,排查过程如下:

  • 点击「保存」操作本应向API发起请求:
const saveSelection = () => {
  axios
    .post(route('clinician.set-device'), {
      use_case_setting_id: deviceSlotId.value,
      device_data: devices.value[selectedOption.value],
    })
    .then(() => {
      ...
};
  • 请求并未发起,浏览器控制台无任何错误日志输出
  • 在服务器上以「watch」模式运行Vue应用,控制台出现如下错误:

Uncaught Error: Ziggy error: route 'clinician.set-device' is not in the route list.

  • 使用php artisan route:list命令确认该路由在服务器上存在
  • 尝试执行以下命令清除Laravel缓存,但问题仍未解决:
php artisan cache:clear && php artisan route:clear && php artisan config:clear && php artisan view:clear

后续测试

将路由替换为直接链接后,收到404响应:

const saveSelection = () => {
  axios
    .post('/api/clinician/set-device', {
      use_case_setting_id: deviceSlotId.value,
      device_data: devices.value[selectedOption.value],
    })
    .then(() => {
      ...
};

检查现有API路由,均运行正常。最后在routes/api.php文件中添加新测试路由,它出现在路由列表中但仍返回404:

Route::get('test', function () {
    return response()->json(['message' => 'Hello World!']);
});

核心疑问

为何旧路由及URL可正常工作,但新路由却无法运行?

内容的提问来源于stack exchange,提问作者Vlodko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 22:30:00