我有一个运行Bitnami Magento堆栈的Google云计算实例。 出于某种奇怪的原因,如果我尝试通过IP地址浏览到该站点,它会使用www前缀IP地址。 所以失败了。 网站的域名是好的。
这是相关的,因为只能从127.0.0.1(创buildSSH隧道之后)访问phpmyadmin。 问题是这是被redirect到www.127.0.0.1并失败。
我无法find解决此问题的apache2 conf文件中的任何内容。 Magento本身安装正确,工作正常。 发现一个stream氓软件包已经被上传之后,这个问题就开始了(这已经被清除了)。
任何伟大的想法收到,这是让我疯狂。
这听起来像是mod_rewrite的工作或Redirect指令。 我会grep你的ApacheconfigurationRewriteCond和Redirect 。
更多信息。 可以在这里find。
正如保罗所说,这可能是mod_rewrite 。 我的猜测是在webroot的某个地方有一个.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做重写规则”时,希望这个解决scheme适合你。
你可以在.htaccess中configuration它,它应该出现在你的web服务器的根目录下。
以下代码将您的网站从yourdomain.comredirect到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]`