Fishpig Wordpress Magento - http://example.com/blog解析为www.example.com而不是www.example.com/blog

时间:2013-03-14 06:15:36

标签: wordpress .htaccess magento

我在生产服务器上有一个工作的Fishpig Wordpress Magento实例。

所有绿色标记显示已成功配置并且在访问时

http://www.example.com/blog 

它有效。但是,当我尝试并访问

http://example.com/blog 

它将我发回www.example.com的magento主页。

我已尝试将wordpress中的网址设置为http://example.com/bloghttp://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扩展名,它直接从不存在的/博客路径排列。

1 个答案:

答案 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个内部服务器错误,所以请始终保留备份。

尝试这一点,我希望它有所帮助。