注意:在将其标记为重复之前,请阅读完整的问题。我已经应用了以下建议,但对我不起作用。
1-mod从.domain重写到www.domain htaccess
2-.htaccess重定向自http://www.domain/到https://domain.com
3-.htaccess将任何域/目录重定向到www.domain/directory
我们有一个购物网站,我们正在主机上托管(CloudLogin)。主网站是建立在Joomla CMS和Magento作为购物车。
主站点URL为www.domain.com,购物车URL为domain.com/shop(无www)。
我们需要的是用(www)显示这两个URL。
所以我们需要Magento文件夹ie domain.com/shop也在www URL上。
我找到了一些关于堆栈溢出的解决方案,但它们对我不起作用,因为它总是显示消息浏览器(重定向过多或/页面重定向不正确)
注意:.htaccess文件位于(商店)文件夹中。
Bellow是我迄今为止尝试过的:
1-
# anything.com to www.anything.com
RewriteCond %{HTTP_HOST} ^[^.]+('.[^.]+)?$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301,NE]
上面的代码从URL中删除了(商店)目录,这会变成错误。
例如: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]
有人知道我如何在特定的URL中强制正确使用.htaccess吗?
我到处看了看,所以找不到合适的答案。
尝试:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/shop
RewriteCond www.%{HTTP_HOST} ^(?:www'.)?(www'..+)$ [NC]
RewriteRule ^ http://%1/shop%{REQUEST_URI} [NE,L,R]
您尝试过以下操作吗?
# anything.com to www.anything.com
RewriteCond %{HTTP_HOST} ^[^.]+('.[^.]+)?$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/shop/$1 [L,R=301,NE]
由于请求源自/shop
目录,因此请求的URL中不会包含该目录。