Điểm:2

Quy trình thích hợp để tùy chỉnh tệp htaccess là gì?

lá cờ cn

Chúng tôi có các liên kết chuyển hướng tùy chỉnh sử dụng quy tắc RedirectMatch chuyển hướng dựa trên đường dẫn gốc. Chúng tôi muốn xử lý các quy tắc này ở cấp máy chủ web hơn là sử dụng mô-đun Chuyển hướng (nếu nó thậm chí có thể thực hiện các quy tắc dựa trên so khớp), vì vậy chúng tôi đặt các quy tắc này trong .htaccess tệp, ví dụ:

RedirectMatch 301 ^/computing/hpc[/]?(.*) https://hpc.our.domain/$1

Kể từ khi .htaccess tệp được cập nhật với cài đặt trình soạn nhạc vì giàn giáo, quy trình tốt nhất để thêm quy tắc của chúng tôi vào tệp là gì? Tôi không tìm cách ngăn giàn giáo cập nhật .htaccess nhưng đôi khi tôi có thể cần phải sửa đổi bản vá của chúng tôi để nó được áp dụng cho phiên bản mới nhất.

Làm thế nào để bạn chỉnh sửa và cập nhật bản vá khi cần thêm hoặc xóa thứ gì đó?

leymannx avatar
lá cờ ne
Điều này có trả lời câu hỏi của bạn không? [Nhà soạn nhạc liên tục ghi đè .htaccess (và các tệp khác) mỗi khi tôi làm bất cứ điều gì](https://drupal.stackexchange.com/questions/290989/composer-keeps-overwriting-htaccess-and-other-files-every-time- tôi-làm-bất cứ điều gì)
shelane avatar
lá cờ cn
Không thực sự. Tôi đã chỉnh sửa câu hỏi của mình để nó hy vọng rõ ràng hơn.
Điểm:1
lá cờ cn

Tùy thuộc vào mức độ tùy chỉnh, có hai chiến lược bạn có thể sử dụng.

  • Vá drupal/core bằng tệp htaccess đã sửa đổi bao gồm tùy chỉnh của bạn.
  • Ghi đè tệp htaccess qua giàn giáo.

Nếu bạn chọn tùy chọn đầu tiên thì đây là một cách thực sự dễ dàng để thực hiện.

  1. Kiểm tra phiên bản Drupal bạn đang sử dụng vào một thư mục.
  2. Điều chỉnh tệp htaccess trong tài sản/giàn giáo.
  3. Chạy git diff > htaccess.patch.
  4. Quay lại dự án của bạn và tạo một thư mục bản vá, đặt tệp mới vào bên trong.
  5. Thêm phần sau vào composer.json thêm phần (đảm bảo bạn đã cài đặt cweagans/composer-patches):
"bản vá lỗi": {
  "drupal/lõi": {
    "Thêm chuyển hướng": "patches/htaccess.patch"
  }
}

Nếu bạn chọn tùy chọn hai:

  1. Tạo (các) thư mục tài sản/giàn giáo trong dự án của bạn.
  2. Sao chép tệp htaccess bên trong nó.
  3. Thực hiện các điều chỉnh của bạn đối với tệp.
  4. Thêm phần sau vào composer.json thêm tiết diện:
"drupal-giàn giáo": {
  "địa điểm": {
    "web-root": "web/"
  },
  "ánh xạ tệp": {
    "[web-root]/.htaccess": "nội dung/giàn giáo/.htaccess"
  }
}
Điểm:0
lá cờ cn

Câu trả lời của Ryan Hartman thật tuyệt. Cuối cùng chúng tôi đã chọn một con đường hơi khác. Như với Drupal, thường có nhiều cách để thực hiện.

Chúng tôi đã thêm phần này vào nhà soạn nhạc.json tập tin:

"kịch bản": {
        "post-drupal-scaffold-cmd": [
            "cd docroot && patch -p1 <../patches/htaccess.patch"
        ]
    }

Của chúng ta .htaccess tập tin vẫn là một phần của repo git của chúng tôi. Mỗi lần chúng tôi cần chỉnh sửa các quy tắc, chúng tôi thực hiện tất cả các thay đổi cần thiết đối với .htaccess tệp và sau đó chúng tôi chạy tập lệnh bash (thực ra là lệnh fin tùy chỉnh của Docksal) để tạo tệp vá. Kịch bản trông như thế này:

mkdir temphtaccess
cd temphtaccess
git init
cp "${DOCROOT_PATH}/core/assets/scaffold/files/htaccess" "${PROJECT_ROOT}/temphtaccess/.htaccess"
git thêm .
git commit -m 'Scaffold htaccess cam kết'
cp "${DOCROOT_PATH}/.htaccess" "${PROJECT_ROOT}/temphtaccess/.htaccess"
git diff > ../patches/htaccess.patch
cd ${PROJECT_ROOT} && rm -rf temphtaccess

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.