htaccess redirect only if domain matches

后端 未结 2 1920
我在风中等你
我在风中等你 2021-02-08 11:35

I have a problem where I need to redirect my domain before it hits php. By the time it hits the ability to execute a header, it is too late.

How can I do



        
相关标签:
2条回答
  • 2021-02-08 12:11

    Using mod_rewrite

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
    RewriteRule ^(.*)$ http://www.domain.com/$1 [R,L]
    
    0 讨论(0)
  • 2021-02-08 12:17

    As of Apache 2.4 you can use an <If> Directive to achieve what you suggested:

    <If "req('Host') == 'www.example.com'">
      RedirectMatch (.*) http://www.example2.com$1
    </If>
    

    For a case-insensitive version that matches with or without the www you can do:

    <If "req('Host') =~ /example.com/i">
      RedirectMatch (.*) http://www.example2.com$1
    </If>
    

    Sources:

    • Apache Blog: New in httpd 2.4: If, ElseIf, and Else
    • Apache 2.4 Documentation: If Directive
    0 讨论(0)
提交回复
热议问题