Как установить Apache виртуальный хост правильно к Drupal 8

Я установил веб-сайт Drupal в этом пути:

/var/www/html/testdrupal.localhost/public_html/drupal/web

Ниже я показываю виртуальный конфигурационный файл хоста testdrupal.localhost:

<Directory /var/www/html/testdrupal.localhost>
    Require all granted
</Directory>
<VirtualHost *:80>
    ServerName testdrupal.localhost
    ServerAlias www.testdrupal.localhost
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/testdrupal.localhost/public_html/drupal/web

    ErrorLog /var/www/html/testdrupal.localhost/logs/error.log
    CustomLog /var/www/html/testdrupal.localhost/logs/access.log combined

</VirtualHost>

Когда я получаю доступ к URL www.testdrupal.localhost, я правильно вижу начальную страницу Drupal, но когда я нажимаю на ссылку входа в систему, я получаю 404 ошибки.

URL, показанный на строке поиска браузера:

http://www.testdrupal.localhost/drupal/web/user/login

Я также проверил что:

0
задан 20 September 2018 в 07:02

2 ответа

Мог бы немного старый, и Вы, вероятно, зафиксировали это, но я отправлю ответ так, чтобы он мог бы помочь другим.

 <VirtualHost *:80>
  DocumentRoot /var/www/html/my_project/docroot
  ServerName ${alias}
  ServerAlias ${alias}

  <Directory /var/www/html/my_project/docroot>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log
  LogLevel warn
  CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

${alias} = is the name you wrote in the hosts file, next to the IP address of localhost

0
ответ дан 27 October 2019 в 10:31

Я столкнулся с той же проблемой. После нескольких дней проб и ошибок я нашел решение.

Мне пришлось изменить расположение index.php в файле .htaccess, как это было упомянуто в совете Drupal

Старая настройка:

  # Pass all requests not referring directly to files in the filesystem to
  # index.php.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^ index.php [L]

Новая настройка:

  # Pass all requests not referring directly to files in the filesystem to
  # index.php.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^ /drupal/index.php [L]
1
ответ дан 28 April 2020 в 13:23

Другие вопросы по тегам:

Похожие вопросы: