У меня есть экземпляр Google Cloud Compute, на котором запущен стек Bitnami Magento. По какой-то странной причине, если я пытаюсь перейти на сайт через IP-адрес, он добавляет к IP-адресу префикс www. так не получается. Доменное имя сайта в порядке.
Это актуально, потому что вы можете получить доступ к phpmyadmin в стеке битнами только из 127.0.0.1 (после создания туннеля SSH). Проблема в том, что он перенаправляется на www.127.0.0.1 и не работает.
Я не могу найти ничего в файлах конфигурации apache2, которые объясняют такое поведение. Сам 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, выполните правило перезаписи" .. надеюсь это решение для вас.
Вы можете настроить это в .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]`