簡體   English   中英

使用RewriteCond和RewriteRule重定向一頁

[英]Using RewriteCond and RewriteRule to redirect one page

當用戶導航到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/對mydomain.nl/fnl/ 什么 取其被請求的頁面 在.htaccess中,我需要指定僅希望在mydomain.nl而不是domain.nl上完成此操作

我希望這可以解決問題-這很復雜。

刪除前導斜杠:

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]

即使anubhava的回答很相似,這也對我有用:

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多店站點很有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM