Puncte:2

Care este procesul adecvat de personalizare a fișierelor htaccess?

drapel cn

Avem link-uri de redirecționare personalizate care folosesc regulile RedirectMatch care redirecționează pe baza unei căi rădăcină. Preferăm să le gestionăm la nivel de server web, mai degrabă decât să folosim modulul de redirecționare (dacă poate face chiar reguli bazate pe potriviri), așa că punem aceste reguli în .htaccess fișier, de ex.:

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

Din momentul în care .htaccess fișierul este actualizat cu o instalare a compozitorului din cauza schelei, care este cel mai bun proces pentru a adăuga regulile noastre la fișier? Nu caut să împiedic schelele să actualizeze .htaccess fișier, dar poate fi necesar să modific patch-ul din când în când, astfel încât să fie aplicat la cea mai nouă versiune.

Cum procedați despre editarea și actualizarea patch-ului atunci când ceva trebuie adăugat sau eliminat?

leymannx avatar
drapel ne
Răspunde asta la întrebarea ta? [Composer continuă să suprascrie .htaccess (și alte fișiere) de fiecare dată când fac ceva](https://drupal.stackexchange.com/questions/290989/composer-keeps-overwriting-htaccess-and-other-files-every-time- fac orice)
shelane avatar
drapel cn
Nu chiar. Mi-am editat întrebarea, astfel încât sper să fie mai clară.
Puncte:1
drapel cn

În funcție de nivelul de personalizare, există două strategii pe care le puteți folosi.

  • Corectați drupal/core cu un fișier htaccess modificat, inclusiv personalizarea dvs.
  • Ignorați fișierul htaccess prin schele.

Dacă alegeți prima opțiune, aici este o modalitate foarte ușoară de a o face.

  1. Verificați versiunea de Drupal pe care o utilizați într-un folder.
  2. Ajustați fișierul htaccess în assets/scaffold.
  3. Alerga git diff > htaccess.patch.
  4. Reveniți la proiectul dvs. și creați un folder de corecții, plasați noul fișier în interior.
  5. Adăugați următoarele la composer.json suplimentar secțiune (asigurați-vă că ați instalat cweagans/composer-patches):
„patch-uri”: {
  „drupal/core”: {
    „Adăugați redirecționări”: „patches/htaccess.patch”
  }
}

Dacă alegeți varianta a doua:

  1. Creați un folder(e) de active/schelă în proiectul dvs.
  2. Copiați fișierul htaccess în interiorul acestuia.
  3. Faceți ajustările fișierului.
  4. Adăugați următoarele la composer.json suplimentar secțiune:
„drupal-scaffold”: {
  „locații”: {
    "web-root": "web/"
  },
  „mapping fișier”: {
    „[web-root]/.htaccess”: „assets/scaffold/.htaccess”
  }
}
Puncte:0
drapel cn

Răspunsul lui Ryan Hartman a fost grozav. Am ajuns să luăm un traseu puțin diferit. Ca și în cazul Drupal, există adesea multe moduri de a face lucrurile.

Am adăugat această secțiune la noi compozitor.json fişier:

„scripturi”: {
        „post-drupal-scaffold-cmd”: [
            „cd docroot && patch -p1 <../patches/htaccess.patch”
        ]
    }

Al nostru .htaccess fișierul este încă parte din depozitul nostru git. De fiecare dată când trebuie să edităm regulile, facem toate modificările necesare .htaccess fișier și apoi rulăm un script bash (de fapt, o comandă Fin personalizată Docksal) care generează fișierul de corecție. Scriptul arată astfel:

mkdir temphtaccess
cd temphtaccess
git init
cp „${DOCROOT_PATH}/core/assets/scaffold/files/htaccess” „${PROJECT_ROOT}/temphtaccess/.htaccess”
git add .
git commit -m 'Scaffold htaccess commit'
cp „${DOCROOT_PATH}/.htaccess” „${PROJECT_ROOT}/temphtaccess/.htaccess”
git diff > ../patches/htaccess.patch
cd ${PROJECT_ROOT} && rm -rf temphtaccess

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.