htaccess重定向前缀到域

时间:2018-12-06 11:24:01

标签: .htaccess web redirect

我用两种语言制作了一个网站。我每个人都有一个特定的域。我买了它们,它们指向相同的目录(因此它们显示相同的站点)。

我希望将每种语言重定向到其特定域。

我尝试过:

RewriteRule ^fr/(.*)$ https://www.french-domain.com/fr/$1 [L,R=301]

RewriteRule ^en/(.*)$ https://www.english-domain.com/en/$1 [L,R=301]

但是它会产生循环错误。

有人知道吗?谢谢。

2 个答案:

答案 0 :(得分:0)

您总是在搜索旧网址和新网址中都存在的模式,因为它们都指向同一文件夹...您进入无休止的循环。

如果您有2个域,则可以按域本身进行检查,

那样:

create procedure [dbo].[spUpdateContentment]
(   
@employeeid int,
@new_questionid int,
@old_questionid int,
@date date            
)
as    
begin

     update contentment
     set questionid= @new_questionid
     where employeeid= @employeeid and questionid= @old_questionid and date = @date
else 
    RAISERROR(@ErrMsg,16,1)
end

我不完全了解域名的外观,并且无法重定向到其他域名,因此也许您需要进行一些更改。

但是尝试一下并更新它是否对您有用,

答案 1 :(得分:0)

您没有使用正确的规则来重定向域。您的规则仅重定向以fren开头的网址路径,即example.com/fr。要将域重定向到特定文件夹,首先需要检查HTTP_HOST标头,然后将该主机重定向到该文件夹​​。

在域指向的目录/.htaccess中使用以下规则:

RewriteEngine on

# map fr-example.com to /fr-folder
RewriteCond %{HTTP_HOST} ^(www\.)?fr-example\.com$ [NC]
RewriteRule ^.*$ /fr-folder%{REQUEST_URI} [L]
# map eng-example.com to /eng-folder
RewriteCond %{HTTP_HOST} ^(www\.)?eng-example\.com$ [NC]
RewriteRule ^.*$ /eng-folder%{REQUEST_URI} [L]