【发布时间】:2016-07-14 19:30:08
【问题描述】:
注意:在将其标记为重复之前,请阅读完整的问题。 我已经应用了对我不起作用的波纹管建议。
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 作为购物车。
主站点 URL 是 www.domain.com,购物车 URL 是 domain.com/shop(没有 www)。
我们需要用 (www) 显示两个 URL。
所以我们需要 Magento 文件夹,即 domain.com/shop 也位于 www URL。
我找到了一些关于堆栈溢出的解决方案,但它们对我不起作用,因为它总是显示消息浏览器(重定向过多或 /page 未正确重定向)
注意:.htaccess 文件位于 (shop) 文件夹中。
到目前为止,我尝试了以下方法:
1 -
# anything.com to www.anything.com
RewriteCond %{HTTP_HOST} ^[^.]+(\.[^.]+)?$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301,NE]
上面的代码从 URL 中删除了 (shop) 目录,这变成了错误。
例如: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?
我环顾四周,但找不到合适的答案。
【问题讨论】:
-
这是我用的
RewriteCond %{HTTP_HOST} !^www\.domain\.de$ RewriteRule ^(.*)$ http://www.domain.de/$1 [R=301,L]
标签: php apache .htaccess magento redirect