Direkt zum Inhalt
Drupal: Ihre Website in ein Unterverzeichnis umleiten

In Shared-Hosting-Angeboten zeigt die Hauptdomain auf /public_html. Dieses Standardverhalten kann Probleme bereiten, wenn Ihre Drupal-Installation index.php und vendor trennt.


Um das Problem zu lösen, nehmen wir einen praktischen Fall.


Wir haben eine Drupal-Installation, die der folgenden Logik folgt:

  •  public
  • public/web/index.php
  • public/vendor/

Wir komprimieren unseren öffentlichen Ordner und legen ihn in den Ordner public_html auf dem Server. Dann dezziped man und hat: public_html/public/. 

Um auf die Website zuzugreifen, schreiben Sie: mon.domaine.com/public/web, 

Um direkt von der Domain aus auf die Website zugreifen zu können, müssen wir :

- Im Wurzelverzeichnis des Servers eine .htaccess-Datei hinzufügen.

RewriteEngine on
# Rediregiger vers un sous parrent.
RewriteCond %{HTTP_HOST} ^(www\.)?mondomaine\.com$
RewriteCond %{REQUEST_URI} !core/authorize.php
RewriteRule !^public/web/  /public/web%{REQUEST_URI}   [L]

- Fügen Sie am Ende der Datei settings.php die folgende Zeile ein

# Pour la redirection.
if (isset($GLOBALS['request'])) {
  if ('/public/web/index.php' === $GLOBALS['request']->server->get('SCRIPT_NAME')) {
    $GLOBALS['request']->server->set('SCRIPT_NAME', '/index.php');
  }
  elseif ($GLOBALS['request']->server->get('SCRIPT_URL') === '/core/authorize.php') {
    $GLOBALS['request']->server->set('SCRIPT_FILENAME', '/public/web/core/index.php');
  }
}
# Vous pouvez également utiliser le chemins absolue complet
if (isset($GLOBALS['request']) and '/public/web/index.php' === $GLOBALS['request']->server->get('SCRIPT_NAME')) {
  $GLOBALS['request']->server->set('SCRIPT_NAME', '/index.php');
}





 

Profile picture for user admin Stephane K

Écrit le

Il y'a 1 Jahr
Modifié
Il y'a 2 Wochen
Lädt...
WhatsApp
Support Habeuk : +237 694 900 622
WhatsApp Send