Làm cách nào để thay đổi URL cơ sở?


15

Trong Drupal 7, chúng tôi có thể nhanh chóng thay đổi URL cơ sở của trang web.
Làm thế nào tôi có thể làm điều này, trong Drupal 8?

Câu trả lời:


14

Trong Drupal 8 tùy chọn này đã bị xóa. Bạn không phải cấu hình base_urlđể chạy trang web của bạn. Drupal 8 có thể phát hiện điều này mà không cần sự giúp đỡ của bạn. Nếu không, trước tiên bạn nên kiểm tra cấu hình máy chủ web của bạn.

Thay vì base_urlbạn nên cấu hình trusted_host_patternstrong settings.php. Điều này là không cần thiết để chạy trang web, nhưng quan trọng vì lý do bảo mật.

Thông tin thêm: Đã xóa tùy chọn base_url khỏi settings.phpCài đặt mới cho cấu hình tên máy chủ đáng tin cậy

Biên tập:

Có một số trường hợp sử dụng đặc biệt khi chạy drupal từ dòng lệnh hoặc proxy ngược, đã sử dụng $ base_url trong quá khứ. Điều này không còn có thể được hỗ trợ theo cùng một cách vì symfony. Có một cuộc thảo luận về cách cung cấp một giải pháp cho những trường hợp này. Điều này không có nghĩa là bạn không thể chạy drupal từ dòng lệnh hoặc proxy ngược. Cách tiêu chuẩn là tất nhiên có thể mà không có vấn đề.

Bạn có thể theo dõi sự phát triển tại đây: https://www.drupal.org/node/2753591


1
Xin lỗi nhưng câu trả lời này là một phần sai lệch. Bạn có thể có một cấu hình máy chủ web hoàn toàn hợp lệ và vẫn cần một base_url. $ base_url cũng sẽ quay trở lại đây: drupal.org/node/2753591
Fidelix

Tại thời điểm tôi viết câu trả lời $ base_url đã biến mất. Nếu nó trở lại, OK. Nhưng hầu hết thời gian bạn thực sự không cần điều này, nếu bạn định cấu hình nhiều cài đặt trên cùng một máy chủ với vhost và dns, hầu hết các môi trường lưu trữ được chia sẻ đều cung cấp tùy chọn cấu hình tiêu chuẩn.
4k4

Đã đồng ý. Nhưng thật sai lầm khi nói cấu hình máy chủ web bị hỏng nếu bạn cần $ base_url. Có rất nhiều trường hợp sử dụng hợp lệ bảo đảm $ base_url.
Fidelix

2
Đây là động lực để loại bỏ $ base_url: drupal.org/node/2528988 (nhiều trường hợp sử dụng hợp lệ: bạn có thể chuyển drupal 8 sang thư mục con bất cứ lúc nào và nó sẽ nhận ra điều này trong yêu cầu tiếp theo mà không cần thay đổi cấu hình)
4k4

OK, tôi thấy bây giờ trong chủ đề được liên kết quan điểm của bạn, tôi sẽ thay đổi câu trả lời.
4k4

5

Tôi nghĩ rằng một khi một số loại chỉnh sửa là cần thiết khi di chuyển giữa sản xuất (http: // example.com/) và dev (http: // localhost / ~ aviram / example.com /). Nhưng không, D8 đủ thông minh để sửa các liên kết tự động.

Sau khi di chuyển một trang web hoàn chỉnh (tệp PHP và kết xuất DB), chỉ cần thực hiện quy trình cập nhật cơ sở dữ liệu D8 ( http://example.com/update.php ) ngay cả khi không có bản cập nhật cho mô hình cơ sở dữ liệu. Điều này khắc phục vấn đề.

Tôi đã học được rằng đây là một vấn đề liên quan đến bộ nhớ cache Drupal 8 có lẽ vì một số nội dung được kết xuất trước được giữ trong các trang web / default / files / php /. Và quá trình update.php bằng cách nào đó làm sạch bộ đệm này.


1
Có, /update.php luôn xóa bộ nhớ cache, ngay cả khi không có bản cập nhật nào để chạy. Đây là một mẹo hay để trang web chạy sau khi di chuyển đến nơi mới, nếu bạn không muốn hoặc không thể truy cập phương thức khác để xóa bộ đệm.
4k4
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.