.htaccess rewrite Cond http://添加www.Magento多存储

.htaccess rewrite Cond http://添加www.Magento多存储,.htaccess,mod-rewrite,routes,.htaccess,Mod Rewrite,Routes,我正在使用magento,当用户试图在没有www的情况下访问我的网站时,我遇到了一些问题。 我试图使用htaccess强制WWW访问URL。 我的问题是,我尝试了很多我发现的选择,但它们都只起到局部作用 我让它在用户写入时工作 xyz.org xyz.org/page https://xyz.org 但当用户键入以下内容时,似乎没有任何解决方案重定向: https://xyz.org/page(带有后面和前面的页面路由) 我怎样才能做到这一点?验证URL并且不使用广泛的范围会很好,因为我仍然可以

我正在使用magento,当用户试图在没有www的情况下访问我的网站时,我遇到了一些问题。 我试图使用htaccess强制WWW访问URL。 我的问题是,我尝试了很多我发现的选择,但它们都只起到局部作用

我让它在用户写入时工作

xyz.org

xyz.org/page

https://xyz.org

但当用户键入以下内容时,似乎没有任何解决方案重定向:

https://xyz.org/page(带有后面和前面的页面路由)

我怎样才能做到这一点?验证URL并且不使用广泛的范围会很好,因为我仍然可以创建类似site.xyz.com的子域,而不需要在它前面插入www

以下是一些我尝试过但没有奏效的解决方案:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http:// www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$  [NC]
RewriteRule (.*) https:// www.%1/$1 [R=301,L]

RewriteEngine On
RewriteCond %{HTTP_HOST} (www\.)?xyz.com
RewriteRule ^(.*)$ https:// www.xyz.org/$1 [R,L]

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.xyz\.org$ [NC]
RewriteRule ^(.*)$ https:// www.xyz.org/$1 [L,R=301]
简而言之:我需要将https://xyz.org/page重定向到https://这似乎在上述任何选项下都不起作用

注意://后面的空格是因为无法发布链接


谢谢

因此,经过数小时的调查,最终发现magento在htaccess中重写URL之前搞乱了重定向。感谢这篇启发我的帖子:

我发现magento会弄乱.htaccess中的重定向,所以诀窍是在htaccess文件的最底层执行任何重写操作,否则magento会弄乱重写和/或将用户重定向到主页。这也可能是在多存储magento安装中造成的

文件最下面的代码执行此任务:

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

另外,激活自动重定向R301到Configuration->Web

中的主URL以发布链接,您需要将链接用撇号括起来,就像其他内联代码一样。撇号反勾号。