Puncte:1

Cum evit suprascrierea fișierului .htaccess când folosesc comanda Compose?

drapel mw

Pe noul meu site web Drupal 9, am personalizat .htaccess dosarul și robots.txt fişier

Nu vreau ca fișierele sale să fie suprascrise la actualizarea cu Composer.

Am adăugat rândurile de mai jos în fișierul meu composer.json, dar .htassess fișierul este suprascris de fiecare dată. Ce este în neregulă cu codul meu? Mulțumesc

„extra”: {
    „drupal-scaffold”: {
        „locații”: {
            "web-root": "./"
        },
        „mapping fișier”: {
            „[web-root]/.htaccess”: fals,
            „[web-root]/robots.txt”: fals
        }
    },
...
sonfd avatar
drapel in
Poate doriți să creați un patch pentru modificările aduse fișierelor htaccess și robots.txt și să utilizați Composer pentru a aplica patch-ul, în loc să alegeți să nu le actualizați. Consultați [Cum să vă corecționați corect fișierul htaccess în composer.json](https://drupal.stackexchange.com/questions/271146/how-to-patch-your-htaccess-file-correctly-in-composer-json)
Thirsty Six avatar
drapel gs
Aceeași problemă. În cazul meu: am adăugat câteva redirecționări pe .htaccess în Drupal. când rulez instalarea/actualizarea compozitorului, .htaccess este resetat în Drupal 9.
Puncte:2
drapel in

Ambii .htaccess și robots.txt fac parte din nucleul Drupal, se numesc „Fișiere Scaffold”. Când o faci actualizare a compozitorului va descărca versiunea de depozit a acestor fișiere.

Trebuie să adăugați din nou modificările personalizate de fiecare dată când o faceți actualizare a compozitorului. Din fericire, există o mod automat de a face acest lucru:

Opțiunea 1. Adăugați modificările dvs.:

  „nume”: „proiectul/meu”,
  ...
  „extra”: {
    „drupal-scaffold”: {
      „mapping fișier”: {
        „[web-root]/robots.txt”: {
          „append”: „assets/my-robots-additions.txt”,
        }
      }
    }
  }

Opțiunea 2. Creați patch-uri:

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

Opțiunea 3. Excludeți (nu este recomandat):

Exemplul oficial:

  „nume”: „proiectul/meu”,
  ...
  „extra”: {
    „drupal-scaffold”: {
      „mapping fișier”: {
        „[web-root]/robots.txt”: fals
      }
    }
  }

Codul pe care l-ați furnizat pare corect.

Asigurați-vă că utilizați https://github.com/drupal/core-composer-scaffold pachet și nu cel învechit https://github.com/drupal-composer/drupal-scaffold.

Dar această abordare nu este recomandată, deoarece s-ar putea să pierdeți modificări importante de bază/remedieri de securitate.

Mai multe detalii pe Modificarea fișierelor de schelă.

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.