注意:在将其标记为重复之前,请阅读完整的问题。 我已经申请了对我不起作用的吼叫建议。
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?
我已经看了一眼,但无法找到合适的答案。
答案 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中包含该目录。