【问题标题】:Using RewriteCond and RewriteRule to redirect one page使用 RewriteCond 和 RewriteRule 重定向一页
【发布时间】:2013-11-22 16:27:04
【问题描述】:

当用户导航到http://mydomain.nl/nl/my-page/

我需要将用户重定向到http://mydomain.nl/fnl/my-page/

这是因为我正在开发的网站是一个多商店多语言 Magento 网上商店,我之前的某个人错误地配置了它,因此每种语言都有自己的商店范围,而不是每个商店都有自己的语言范围.

我的 .htaccess 中有以下代码:

RewriteCond %{HTTP_HOST} ^mydomain\.nl$ [NC]
RewriteRule ^/nl/terms-and-conditions-of-use/ http://mydomain.nl/fnl/terms-and-conditions-of-use/ [NC,QSA,R]

基本上,我假设这样做是检查它是否在正确的域(即 mydomain.nl)上,然后重定向 URL,以便用户看到正确的页面。

重定向不起作用。如果我点击它 - 它会带我回到主域的主页(然后是 anotherdomain.nl)

有人可以看看它,看看我做错了什么吗?

-编辑-

在 adomain.nl 上安装了一个 Magento 安装 - 设置了多个商店,不同的域指向它们。所以 mydomain.nl 在技术上是 adomain.nl/mydomain 作为 Magento 本身的第二个存储。我想将 mydomain.nl/nl/anything 指向 mydomain.nl/fnl/请求的页面。在 .htaccess 中,我需要指定我只希望在 mydomain.nl 而不是 domain.nl 上完成此操作

我希望这可以解决问题 - 这很复杂。

【问题讨论】:

    标签: php .htaccess magento redirect


    【解决方案1】:

    删除前导斜杠:

    RewriteCond %{HTTP_HOST} !^(www\.)?adomain\.nl$ [NC]
    RewriteRule ^nl/(terms-and-conditions-of-use)/ /fnl/$1/ [NC,L,R]
    

    或者让它更通用:

    RewriteCond %{HTTP_HOST} !^(www\.)?adomain\.nl$ [NC]
    RewriteRule ^nl/(.+) /fnl/$1 [NC,L,R]
    

    【讨论】:

    • 我已经尝试了这两种方法,但似乎都没有工作..我将代码放在 .htaccess 文件的哪个位置有关系吗?
    • 使用这两个选项,它现在似乎重定向到 mydomain.nl 而不是 anotherdomain.nl - 所以它正在做某事。仍然没有显示正确的页面。 RewriteCond %{HTTP_HOST} ^funcookshop\.nl$ [NC] RewriteRule ^nl/terms-and-conditions-of-use/ /fnl/terms-and-conditions-of-use/ [NC,L,R]跨度>
    • anotherdomain.nl?但是你原来的规则没有。让我编辑答案。
    • 对不起,我可能稍微误导了您 -> 检查我的答案下的编辑,以获取有关我想要实现的目标的更详细说明。这让我很困惑,但这只是其他人设置多站点的方式。
    【解决方案2】:

    尽管阿努巴瓦的回答很相似,但这对我有用:

    RewriteCond %{HTTP_HOST} ^domain\.nl$ [NC]
    RewriteRule ^nl/terms-and-conditions-of-use/ /fnl/terms-and-conditions-of-use/ [NC,L,R]
    

    只需将访问http://domain.nl/nl/terms-and-conditions-of-use/ 的任何人重定向到http://domain.nl/fnl/terms-and-conditions-of-use,并且仅在用户访问 domain.nl 时执行此操作 - 对于仅使用一个 .htaccess 文件的 Magento 多商店站点很有用。

    【讨论】:

    • 这和我的回答差不多。仅当现有答案不够好或未涵盖问题的某些方面时,才应添加答案。
    猜你喜欢
    • 1970-01-01
    • 2017-08-13
    • 2012-04-22
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多