![](/img/trans.png)
[英]htaccess redirect domain.com to www.domain.com except of staging.domain.com for multiple domains
[英]Redirect domain.com/shop to www.domain.com/shop
注意:在将其标记为重复之前,请阅读完整的问题。 我已经应用了对我不起作用的波纹管建议。
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 文件夹,即 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/店/ 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 中包含该目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.