Drupal 8 Tipps für Überflieger

Drupal-Installationen im root-Verzeichnis des Webspace bauen Hürden auf und verhindern, dass andere Anwendungen – z.B. WordPress oder Piwik – in einem Unterverzeichnis ausgeführt werden. Ein Aufruf der index.php-Datei der WordPress-Installation führt zu einem Forebidden oder Not found.

In der .htaccess-Datei können solche Unterverzeichnisse direkt nach der  "RewriteEngine on"-Direktive ignoriert werden, noch bevor Drupal überhaupt zum Zuge kommt.

<IfModule mod_rewrite.c>
  RewriteEngine on
  #
  # stuff to let through (ignore)
  RewriteCond %{REQUEST_URI} "/piwik/" 
  RewriteCond %{REQUEST_URI} "/wp/"
  RewriteRule (.*) $1 [L]
  #
…

Wenn es keine groß angelegte Anwendung mit einer index.php ist, sondern z.B. eine einfache PHP-Anwendung, reicht ein Eintrag nach RewriteRule ^ index.php [L]

am Ende der Erklärung zu den Sicherheitsbestimmungen:

# For security reasons, deny access to other PHP files on public sites.
…
# Copy and adapt this rule to directly execute PHP files in contributed or
# custom modules or to run another PHP application in the same directory.
RewriteCond %{REQUEST_URI} !/core/modules/statistics/statistics.php$
RewriteCond %{REQUEST_URI} !/temp/foo.php$

Node Revisions löschen

Zwar erhöhen die Revisions – die Sicherungen alter Versionen – die Sicherheit beim Anlegen und Ändern von Seiten, aber auf die Dauer füllen die Beiträge mit zig Revisions die Datenbank mit Versionen, die niemand mehr sehen will.

try {
   $nid = 3; // Your node id
   $vids = \Drupal::entityManager()->getStorage('node')->revisionIds(node_load($nid));
   foreach($vids as $vid){        
     \Drupal::entityTypeManager()->getStorage('node')->deleteRevision($vid);
   }
 } catch (Exception $e) {
   // Latest revision will not be deleted but throws an error
   return $e->getMessage();
 }

kann in die mytheme.theme Datei gesetzt werden. Ist zwar mühsam, löscht nur die alten Versionen eines Beitrags, aber immerhin …

Externe Quellen

Gefunden unter How to get the revisions list of a node and delete them all? auf Stackexchange.

Eine Erweiterung, die das Löschen alter Revisionen vereinfacht, gibt es für Drupal 8 inzwischen auch:

Node Revision Delete

Und ein Drupal 8 Twigg Cheat Sheet

Weitere Beiträge zu Drupal