将旧网站的网址重定向到新

时间:2017-04-27 18:16:56

标签: .htaccess redirect

我正在尝试使用htaccess将我的网站从旧域重定向到新域。两个网站都具有相同网址结构的相同网页我只需要将主网址部分i-e https://test.com旧网址重定向到https://test1.com以及其他网址网址。例如,如果我在旧网站(https://test.com/page1)中有一个页面,则应将其重定向到(https://test1.com/page1)。我使用此代码重定向它,但它没有任何帮助。

Redirect 301 /page1/ https://test1.com/page1

Redirect 301 https://test1.com

2 个答案:

答案 0 :(得分:0)

您可能会发现这些有用:

let
    Source = SourceData,
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Key"}, "Attribute", "Value"),
    #"Added Custom" = Table.AddColumn(#"Unpivoted Other Columns", "Type", each if Text.Start([Attribute],4) = "Type" then [Value] else null),
    #"Filled Down" = Table.FillDown(#"Added Custom",{"Type"}),
    #"Filtered Rows" = Table.SelectRows(#"Filled Down", each not Text.StartsWith([Attribute], "Type")),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Attribute"}),
    #"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[Type]), "Type", "Value")
in
    #"Pivoted Column"

#Redirect from old domain to new domain
RewriteEngine on
RewriteBase /
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

随意关注资源:https://gist.github.com/ScottPhillips/1721489

答案 1 :(得分:0)

第一个Redirect具有不同的源和目标网址路径。旧URL有一个斜杠,而新的没有。

  

然后,以URL-path开头的任何请求都会向目标URL位置的客户端返回重定向请求。匹配的URL路径之外的其他路径信息将附加到目标URL。

这意味着,如果您要求

http://old.example.com/page1/some/script.php

超出/page1/的路径(某些/ script.php 没有前导斜杠)将被带到目标/page1

http://new.example.com/page1some/script.php

要附加完整路径,必须省略旧URL路径中的尾部斜杠,例如

Redirect /page1 https://test1.com/page1

要解决第二个Redirect,这只适用于Location指令,例如。

<Location "/page1">
    Redirect https://test1.com/page1
</Location>

最后,当一切正常时,您可以将状态代码更改为301从不使用301进行测试。