Laravel 将子域重定向到域,同时保留路径和查询字符串

Laravel 将子域重定向到域,同时保留路径和查询字符串,laravel,.htaccess,mod-rewrite,url-redirection,Laravel,.htaccess,Mod Rewrite,Url Redirection,我有一个子域,我想重定向到主域(使用.htaccess),如下所示: https://abc.example.com我想将其重定向到https://www.example.com https://abc.example.com/path/page-name至https://www.example.com/path/page-name https://abc.example.com/path/page-name?test=12&test1=12至https://www.example.com/pa

我有一个子域,我想重定向到主域(使用
.htaccess
),如下所示:

  • https://abc.example.com
    我想将其重定向到
    https://www.example.com
  • https://abc.example.com/path/page-name
    https://www.example.com/path/page-name
  • https://abc.example.com/path/page-name?test=12&test1=12
    https://www.example.com/path/page-name?test=12&test1=12
  • 请建议我怎么做

    我已经尝试了下面的解决方案,但它不起作用

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$   [NC]
    RewriteRule ^ http://www.example.com/suberror  [L,R]
    
    我正在使用Laravel。

    在这一行:

    RewriteRule ^ http://www.example.com/suberror  [L,R]
    
    没有
    模式
    意味着根据请求的URI检查正则表达式

    将其更改为:

    RewriteRule ^(.*)$ http://www.example.com/$1  [L,R]
    
    这部分
    ^(.*)$
    模式
    ,它将通过
    $1
    替换中呈现

    如果可以,将
    [L,R]
    更改为
    [L,R=301]
    为永久重定向,因为
    R
    单独表示
    R=302
    ,这是临时的

    在这一行:

    RewriteRule ^ http://www.example.com/suberror  [L,R]
    
    没有
    模式
    意味着根据请求的URI检查正则表达式

    将其更改为:

    RewriteRule ^(.*)$ http://www.example.com/$1  [L,R]
    
    这部分
    ^(.*)$
    模式
    ,它将通过
    $1
    替换中呈现

    如果可以,将
    [L,R]
    更改为
    [L,R=301]
    为永久重定向,因为
    R
    单独表示
    R=302
    ,这是临时的

    假设:

    • 您有1个子域(如示例中所述)
    • 子域和主域指向文件系统上的同一区域(它们共享一个公共根)
    请在
    .htaccess
    文件顶部尝试以下操作:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^abc\.example\.com [NC]
    RewriteRule ^ http://www.example.com%{REQUEST_URI}  [R,L]
    
    请求的URL路径保存在
    request\u URI
    服务器变量中。请求中的查询字符串将传递到替换(目标),而无需任何额外工作。

    假设:

    • 您有1个子域(如示例中所述)
    • 子域和主域指向文件系统上的同一区域(它们共享一个公共根)
    请在
    .htaccess
    文件顶部尝试以下操作:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^abc\.example\.com [NC]
    RewriteRule ^ http://www.example.com%{REQUEST_URI}  [R,L]
    
    请求的URL路径保存在
    request\u URI
    服务器变量中。请求中的查询字符串将传递到替换(目标),而无需任何额外工作。

    您说您有“子域”(单数),但您的正则表达式中有通配符(任意子域)模式?相对于主域,子域指向文件系统上的哪个位置?同一个地方?你说你有一个“子域”(单数),但是你的正则表达式中有一个通配符(任何子域)模式?相对于主域,子域指向文件系统上的哪个位置?同一个地方?