我有一个运行 Bitnami Magento 堆栈的 Google Cloud Compute 实例。出于某种奇怪的原因,如果我尝试通过 IP 地址浏览该网站,它会在 IP 地址前加上 www.,因此会失败。网站域名没有问题。
这很重要,因为您只能从 127.0.0.1 访问 bitnami 堆栈上的 phpmyadmin(创建 SSH 隧道后)。问题是它被重定向到 www.127.0.0.1 并失败。
我在 apache2 conf 文件中找不到任何可以解释此行为的内容。Magento 本身设置正确,运行良好。问题始于发现已上传恶意包之后(现已清理)。
非常感谢您的任何想法,这让我很抓狂。
答案1
听起来像是的工作mod_rewrite
或Redirect
指令。我会在您的 Apache 配置中grep
使用RewriteCond
它。Redirect
更多信息可以找到这里。
答案2
正如 Paul 所说,这是有可能的mod_rewrite
。我猜想.htaccess
Web 根目录中的某个地方有一个文件负责此规则。
您正在寻找的规则应如下所示:
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 时执行重写规则”..希望这是您的解决方案。
答案3
您可以在 .htaccess 中配置此功能,该文件应位于您的 Web 服务器的根目录中。
以下代码将把您的网站从 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]`