Thay đổi đường dẫn base URL khi đưa project vue lên server

Hello mọi người

Em có làm một project vue và laravel, trong file vue em có để
axios.defaults.baseURL = ‘http://localhost/SkillCheck/public’;
vậy khi đưa project lên server em phải đổi lại như thế nào? mong mọi người giúp đỡ

Sao bạn lại phải trỏ đến path /public? :open_mouth:

anh ơi em làm bằng laravel nên trỏ vào public mới đến đc file index.php

Mình nghĩ bạn cần phải hiểu thêm về cơ chế làm việc của server và framework. Path /dir/public/index.php sẽ được server (kể cả internal server của PHP serve bằng lệnh Laravel artisan serve) sẽ được map thành root URL của website. Cái root URL này mới là URL bạn cần.

Nếu làm đúng thì 99% bạn chỉ cần đặt base URL là /.

bạn ơi nếu chạy bằng php artisan serve thì là như vậy, nhưng hiện tại mình đang chạy ko bằng cách đó, mình chạy bằng cách đặt project vào htdocs của xammp để chạy , do vậy mình cần chỉ đường dẫn đến thư mục index.php của framework

Bạn có ít nhất 3 cách:

  • Cách 1: Config Apache lại cho đúng. Trỏ DocumentRoot vào đường dẫn tuyệt đối của thư mục public. Đây là cách đúng nhất.
  • Cách 2: Dùng mod_rewrite để reidrect request sang public folder: https://stackoverflow.com/a/38040902/794641. Với hai cách này thì bạn chỉ cần set baseURL là /.
  • Cách 3: Giữ nguyên cách (sai) mà bạn đang làm, rồi dùng Webpack DefinePlugin một thư viện như dotenv để cấu hình biến môi trường.
1 Like

Cám ơn bạn