将domain.com/shop重定向到www.domain.com/shop

时间:2016-03-27 12:04:10

标签: php apache .htaccess magento redirect

注意:在将其标记为重复之前,请阅读完整的问题。 我已经申请了对我不起作用的吼叫建议。

1 - mod rewrite from .domain to www.domain htaccess

2 - .htaccess redirect from http://www.domain/ to https://domain.com

3 - .htaccess redirect any domain/directory to www.domain/directory

我们有一个我们在主机(CloudLogin)上托管的购物网站。 主站点建立在Joomla CMS和Magento上作为购物车。

主站点网址为www.domain.com,购物车网址为domain.com/shop(不含www)。

我们需要的是用(www)显示这两个网址。

所以我们需要Magento文件夹,即domain.com/shop也可以在www URL上。

我找到了一些关于堆栈溢出的解决方案,但它们对我不起作用,因为它总是显示消息浏览器(太多重定向或/页面没有正确重定向)

注意: .htaccess文件位于(商店)文件夹中。

贝娄是我到目前为止所尝试的:

1 -

# anything.com to www.anything.com
RewriteCond %{HTTP_HOST} ^[^.]+(\.[^.]+)?$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301,NE] 

上面的代码从URL中删除了(shop)目录,这会变成错误。

ex:domain.com/shop/cat1/prod1变成www.domain.com/cat1/prod1

2 -

RewriteCond %{REQUEST_URI} !^/shop/?.*$
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

以上代码甚至不在其上应用www。

3 -

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

以上代码从domain.com/shop/cat1 / prod1 重定向到www.domain.com/shop,并显示错误消息(重定向次数太多。) 这似乎在页面上无限循环。

4 -

RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteRule ^(.*) http://www.domain.com/shop/$1 [L,R=301] 

这与3相同。

5 -

#RewriteCond ${HTTP_HOST} doamin.com [OR]
#RewriteCond ${HTTP_HOST} www.doamin.com
#RewriteRule ^(.*)$ http://www.doamin.com/shop/$1 [QSA,R=301,L]

有谁知道我如何能够始终强制正确使用特定网址的.htaccess?

我已经看了一眼,但无法找到合适的答案。

2 个答案:

答案 0 :(得分:1)

尝试:

replace

答案 1 :(得分:0)

您是否尝试过以下操作?

# anything.com to www.anything.com
RewriteCond %{HTTP_HOST} ^[^.]+(\.[^.]+)?$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/shop/$1 [L,R=301,NE]

由于请求来自/shop目录,因此它们不会在请求的URL中包含该目录。