如何使用.htaccess进行此工作-将主域重定向到子域并将所有其他页面重定向到新域

时间:2018-11-06 18:44:12

标签: wordpress .htaccess mod-rewrite

我有example.com,可以重定向到home.example.com

使用:

RewriteEngine On
RewriteRule (.*) https://home.example.com/$1 [R=301,L]

但是我想做的另一部分是将所有其他URL重定向到新域。

https://example.com/interestingblogpost一样重定向到https://another.example/interestingblogpost

任何建议,我似乎都无法在搜索中找到任何东西。

哦,这是针对WordPress网站的。

1 个答案:

答案 0 :(得分:0)

您当前的指令已将所有URL重定向到另一个主机名(主域的子域)。

如果需要进行特定的重定向,则只需将这些放在您的当前指令之前。即。最具体的重定向应该是第一个。

例如:

Private Sub Complex_Search(col1, cval1, col2, cval2)

'MsgBox (col1 & " " & col2)
'MsgBox (cval1 & " " & cval2)

Dim i
Dim lRow
Dim Counter

    lRow = Cells(Rows.Count, 1).End(xlUp).row

    Counter = 0

    With Sheets("Office Spaces")

        For i = 2 To lRow

            If LCase(.Cells(i, col1).Value) = LCase(cval1) And LCase(.Cells(i, col2).Value) = LCase(cval2) Then

                row = i

                Counter = Counter + 1

            End If

        Next i

    End With

    If row = "" Then

        MsgBox ("Search complete. 0 results found")

    Else
        GetRowData (row)

        UserForm1.resmax.Value = 1
    End If

End Sub

假设此RewriteEngine On # Specific redirects... RewriteRule ^interestingblogpost$ https://another.example/$0 [R=301,L] # Redirect everything else to home.example.com RewriteRule (.*) https://home.example.com/$1 [R=301,L] 文件仅服务.htaccess,则以上内容会将example.com重定向到https://example.com/interestingblogpost

https://another.example./interestingblogpost是整个匹配模式的后向引用。

在进行测试之前,您需要清除浏览器缓存,因为用于重定向所有内容的早期版本301可能已经被缓存(如果您先前曾请求$0)。因此,通常最好先使用默认情况下未缓存的302(临时)重定向进行测试。