У меня есть экземпляр Google Cloud Compute, на котором запущен стек Bitnami Magento. По какой-то странной причине, если я пытаюсь перейти на сайт через IP-адрес, он добавляет к IP-адресу префикс www. так не получается. Доменное имя сайта в порядке.
Это актуально, потому что вы можете получить доступ к phpmyadmin в стеке битнами только из 127.0.0.1 (после создания туннеля SSH). Проблема в том, что он перенаправляется на www.127.0.0.1 и не работает.
Я не могу найти в файлах apache2 conf ничего, что объясняет такое поведение. Сам Magento настроен правильно и работает нормально. Проблема началась после того, как обнаружилось, что был загружен мошеннический пакет (с тех пор он был очищен).
Любые идеи, полученные с удовольствием, сводят меня с ума
Как сказал Пол, это вполне вероятно mod_rewrite
. Я предполагаю, что есть .htaccess
файл в корневом каталоге сети где-нибудь, отвечающий за это правило.
искомое правило должно выглядеть примерно так:
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
Отредактируйте это примерно так:
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !=127.0.0.1
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ %{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Этот «переведенный» в основном говорит: «Если удаленный адрес не 127.0.0.1, выполните правило перезаписи». Надеюсь, это решение для вас.
Похоже, что либо работа mod_rewrite
или Redirect
директива. я буду grep
для RewriteCond
и Redirect
в ваших конфигах Apache.
Больше информации. может быть найден Вот.
Вы можете настроить это в .htaccess, который должен находиться в корневом каталоге вашего веб-сервера.
следующий код перенаправит ваш сайт с yourdomain.com на www.yourdomain.com
`RewriteEngine on
# Redirect to domain with www.
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Same for HTTPS:
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]`