我在生产服务器上有一个工作的Fishpig Wordpress Magento实例。
所有绿色标记显示已成功配置并且在访问时
http://www.example.com/blog
它有效。但是,当我尝试并访问
时http://example.com/blog
它将我发回www.example.com的magento主页。
我已尝试将wordpress中的网址设置为http://example.com/blog和http://www.example.com/blog,但在这两种情况下,它始终会将我发送到site.com的主页。
这是一个问题,因为大多数有经验的网络用户在尝试访问某个位置时都不会输入www。
我的htaccess是由Wordpress生成的,看起来像
DirectoryIndex index.html index.php
<IfModule mod_rewrite.c>
#wp generated
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
请不要将wordpress站点文件放在site.com/wp上,它是fishpig扩展名,它直接从不存在的/博客路径排列。
答案 0 :(得分:1)
首先,首先,解决问题的一种方法是简单地让你的Magento网站默认没有www。在网址中。
在Magento中,转到系统&gt;配置&gt;网络
在“安全”和“不安全”标签中,找到“基本网址”。
该值应如下所示:
http://www.site.com/
替换对域的所有引用,以便显示:
http://site.com/
不幸的是,整个网站可能会出现很多内容。你需要在服务器的其他地方做同样的事情。
如果你真的希望你的网站/博客说出www。,你必须在Magento中正确转发.htaccess文件。我不太热衷于Magento的.htaccess文件如何工作,但我知道如何转发网址并保留所有其他页面(但是,Magento的设置可能会干扰)。
代码看起来像这样:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^site.com$ [NC,OR]
RewriteRule ^(.*)$ http://www.site.com$1 [R=301,L]
同样,我不知道这对Magento的设置有多好,但我已成功使用上面的代码将url重定向到我想要的正确url。不过,上面的代码实际上是在wordpress网站上使用的。
检查Magento的.htaccess文件中的重写规则,并尝试将其置于其上方。但要小心;如果弄乱.htaccess文件,很容易造成500个内部服务器错误,所以请始终保留备份。
尝试这一点,我希望它有所帮助。