2013-03-14 74 views
0

我在生产服务器上有一个可用的Fishpig Wordpress Magento实例。Fishpig Wordpress Magento - http://example.com/blog解析为www.example.com而不是www.example.com/blog

所有绿色刻度显示它已经成功地配置和访问

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。作为由WordPress产生

我htaccess的,看起来像

的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

当您安装了WordPress并进行设置后,您在Site URL字段中确实将/ blog地址设置为正确的? – RuFFCuT 2013-03-14 13:29:02

回答

1

首先,要开始,解决问题的一种方法是简单地让您的Magento网站DEFAULT不具有www。在网址中。

在Magento中,进入系统>配置>网页。

在“安全”和“不安全”标签中找到“基本URL”。

值应该是这个样子:

http://www.site.com/ 

更换该域的所有引用,以便它显示:

http://site.com/ 

不幸的是,可能会有不少呢出场的整个网站。你需要在服务器的其他地方做同样的事情。

如果你真的想让你的网站/博客说www。,但你必须正确地转发Magento中的.htaccess文件。我并不太热衷于Magento的.htaccess文件的工作原理,但我知道如何转发一个url并保留所有其他页面(但是,Magento的设置可能会造成干扰)。

代码应该是这个样子:

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^site.com$ [NC,OR] 
RewriteRule ^(.*)$ http://www.site.com$1 [R=301,L] 

再说一遍,我不知道该怎么好,这将与Magento的设立工作,但我已经成功地使用上面的代码重定向的URL对我想要的正确网址。但是,上面的代码实际上是在wordpress网站上使用的。

检查Magento的.htaccess文件中的重写规则,并尝试将其放在上面。不过要小心,如果您搞砸了.htaccess文件,那么导致500个内部服务器错误非常容易,因此请始终保留备份。

试试看,我希望它有帮助。

+0

我使用了上面的RewriteEngineOn RewriteCond%{HTTP_HOST}^site \ .com [NC] RewriteRule(。*)http://www.site.com/$1 [L,R = 301]的稍微简化版本,其中I从网络中拉出来,同时试图让我的头绕着你的答案。谢谢! – happilyUnStuck 2013-03-18 10:15:03

+0

很高兴我能帮上忙。^_ ^ – JaidynReiman 2013-03-19 20:51:17