首页 > 解决方案 > 将子域重定向到域,同时保留路径和查询字符串

问题描述

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

  1. https://abc.example.com我想将其重定向到https://www.example.com
  2. https://abc.example.com/path/page-namehttps://www.example.com/path/page-name
  3. https://abc.example.com/path/page-name?test=12&test1=12https://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。

标签: laravel.htaccessmod-rewriteurl-redirection

解决方案


在这一行:

RewriteRule ^ http://www.example.com/suberror  [L,R]

没有pattern办法,正则表达式检查请求的 URI。

将其更改为:

RewriteRule ^(.*)$ http://www.example.com/$1  [L,R]

这部分^(.*)$pattern,它将substitution由 this介绍$1

如果没问题,改成[L,R]永久[L,R=301]重定向,因为R单独的意思R=302是临时的。


推荐阅读