我正在尝试使用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
答案 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]
答案 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
进行测试。