将所有域的所有站点重定向到新域,而不使用尾随查询字符串

     2023-02-27     215

关键词:

【中文标题】将所有域的所有站点重定向到新域,而不使用尾随查询字符串【英文标题】:Redirect all sites of all domain to new domain without trailing query string 【发布时间】:2012-12-27 18:39:21 【问题描述】:

我想将旧域上的所有请求重定向到新域的主页(根站点)。我认为它适用于:

RewriteEngine On
RewriteRule ^(.*)$ http://newdomain.com/ [R=301]

(请参阅:.htaccess redirect all pages to new domain)但出于一个奇怪的原因,当我尝试访问 URL www.olddomain.com/faq/pdf.php?cat=7&id=93&artlang=de 时,我被重定向到 www。 newdomain.com/?cat=7&id=93&artlang=de。可能是什么问题?

过去我遇到了一些问题,因为这个域位于我的新主域的子目录(作为插件域)中,但在主域的 .htaccess 中我有一个:

RewriteCond %HTTP_HOST ^([^.]+\.)*olddomain\.com
RewriteRule .* - [L]

禁用此类错误。还有其他想法吗?我从几个小时开始就在尝试这个。

编辑:当我发现问题是查询字符串时,我已经用谷歌搜索了。

【问题讨论】:

我在您的重定向 URL 中没有看到任何 $$$,这就是问题所在。 抱歉,我没明白你的意思? 【参考方案1】:

如果你想重定向到你的新域没有路径和查询字符串,你必须附加一个空的查询字符串

RewriteEngine On
RewriteRule .* http://newdomain.com/? [R=301,L]

【讨论】:

这正是我想要的,但它不起作用并且仍然通过查询字符串。我知道这很奇怪,但我无法找到问题的根源。 @Andy 请确认您在目标 URL 处有一个最终的?。我刚刚在我的环境中对此进行了测试,它适用于最终的? 我有一个“/?”在我的网址末尾。但它仍然保留查询。是否有可能是我的链接问题中提到的 apache 错误,或者这与它没有任何关系?我也使用了 Saluman 的变体。 @Andy Salman 的和我的一样。正如我所说,我在虚拟主机 .htaccess 中使用我的 apache 2.2 对此进行了测试,它可以正常工作。您的环境中一定有一些不同的东西,这导致了这种情况。也许,您在目录上下文或主配置或其他东西中使用它。 对不起,这是浏览器缓存的问题。你有正确的解决方案。非常感谢,你解决了我的问题! :)【参考方案2】:

更新:

RewriteEngine On
RewriteCond %HTTP_HOST (?:www\.)?oldomain\.com [NC]
RewriteRule ^(.*)$ http://newdomain.com/?  [R=301,L]

作为示例更新,而不是作为答案。

【讨论】:

谢谢,但我的目标是不传递 URL 的其余部分。我的问题是它会自动通过。 好的。弄反了尝试添加 DPI 标志。像这样 [R=301,L,DPI] 看看会发生什么。 @Salman 非常感谢。我只是复制粘贴问题中的规则,并没有注意到 L 丢失了。 感谢您的帮助,但它仍然保留查询字符串。使用了您的最新建议。 不客气。但是,正如我所说,我想根据您示例中的 2 个 URL 理解您的问题。最后一个缺少 URI 的一部分,我认为这就是问题所在。但是,现在我了解您想要什么,解决方案在 Olaf 和 Salman 的回答中。这就是删除查询字符串的方法。确保在真实服务器中对其进行测试。大多数测试服务器不支持? 删除查询。【参考方案3】:

mod_rewrite 将查询字符串附加到重写的 URL如果没有指定查询字符串。添加一个空的查询字符串来避免问题(添加一个? 就足够了):

RewriteEngine On
RewriteRule ^(.*)$ http://newdomain.com/? [R=301,L]

还可以阅读 QSA 标志。

【讨论】:

感谢 QSA 的链接。问号解决了问题。

.htaccess 将文件夹下的所有页面重定向到新域

】.htaccess将文件夹下的所有页面重定向到新域【英文标题】:.htaccessredirectallpagesunderafoldertonewdomain【发布时间】:2012-01-1500:10:22【问题描述】:我在旧域的特定文件夹下放置了一些文件,如下所示:http://www.olddomain.com/folder1/.我... 查看详情

如果用户已缓存站点,如何将用户从旧域重定向到新域

...述】:我的旧域名不再有效,我更改了产品名称。我想将所有旧用户重定向到我的新域。我告诉我的域提供者301将它们发送到我的新域。我的问题是,当我尝试重定向它们时,它们会卡在旧域中,页面为空。 查看详情

将所有请求从旧域重定向到新域

】将所有请求从旧域重定向到新域【英文标题】:Redirectallrequestfromolddomaintonewdomain【发布时间】:2013-10-2119:59:01【问题描述】:我希望从旧域迁移到新域。我的旧域olddomain.com和新域newdomain.com现在指向相同的IP地址。我有Apache服... 查看详情

301 将所有页面重定向到新域上的同一页面

】301将所有页面重定向到新域上的同一页面【英文标题】:301Redirectallpagestosamepageonnewdomain【发布时间】:2014-09-2321:54:40【问题描述】:这是.htaccessredirectallpagestonewdomain和Howto301redirectallpagestothesamepagesonnewdomain的后续问题。具体来... 查看详情

将所有子域重定向到新的根域

】将所有子域重定向到新的根域【英文标题】:Redirectallsubdomainstoanewrootdomain【发布时间】:2016-07-1310:07:06【问题描述】:我希望更改站点的根域。有问题的域有多个子域作为别名。我想使用htaccess将子域重定向到新域:例如:tes... 查看详情

我如何 .htaccess 301 将所有页面/文件(除了一个)重定向到新域?

】我如何.htaccess301将所有页面/文件(除了一个)重定向到新域?【英文标题】:HowcanI.htaccess301redirectallpages/files(exceptforone)tonewdomain?【发布时间】:2015-09-0321:00:12【问题描述】:我已经创建了一个.htaccess文件,它成功地将旧域(www... 查看详情

如何 301 将所有页面重定向到新域上的相同页面

】如何301将所有页面重定向到新域上的相同页面【英文标题】:Howto301redirectallpagestothesamepagesonnewdomain【发布时间】:2012-05-2511:24:50【问题描述】:我正在将我的网站从old-domain.com移动到具有完全相同页面的new-domain.com,例如,如... 查看详情

htaccess 将旧域重定向到新域

...网站上成功的100多个页面。还有100多个,但我宁愿将其他所有内容重定向到我网站上的单个页面,通知用户网站的更改。旧站点和新站点具有不同的url结构,因此它不像重写 查看详情

使用 htaccess 将多个域(http https www 和非 www)重定向到新域

...】:我有3个不同的域(有两个不同的TLD),我希望我的所有域都重定向到一个(包括所有格式httphttpswww或非www)->ht 查看详情

重定向到新域上的相同路径

...value=1然后它应该引导他们到:newsite.com/money.php?value=1我对所有页面都有相同的header.php,所以这可以用一个简单的ph 查看详情

将旧域的每个页面重定向到新域上的相同页面url(代码片段)

我知道这个问题已被提出所有变化,但我仍然找不到确切的答案。我已经更改了我的域名。所有网站文件和网址仍然相同。旧域仍然指向相同的服务器,我在htaccess文件中有以下代码。RewriteEngineOnRewriteCond%HTTP_HOST^olddomain.com$[OR]Rew... 查看详情

.htaccess 301 将旧域上的所有页面重定向到新域上的单个页面

】.htaccess301将旧域上的所有页面重定向到新域上的单个页面【英文标题】:.htaccess301redirectallpagesonolddomaintoasinglepageonnewdomain【发布时间】:2013-02-1000:24:12【问题描述】:我希望将旧域上的每个页面重定向到新域上的单个页面。它... 查看详情

301 使用 .htaccess 从旧域重定向到新域

...3-09-2306:20:18【问题描述】:有old.test.ru和test.ru域。如何将所有页面从old.test.ru/*重定向到test.ru/*?我有这些.htaccess:<IfModulemod_rewrite.c>Options+Follow 查看详情

apache_conf在保留结构的同时,将所有博客帖子和页面重定向到新域(代码片段)

查看详情

使用 apache vhost 配置重定向到新域

...问题描述】:我有一个apachevhost配置如下。我想要来自的所有请求somedomain.com/loadproduct?product=dell-inspiron-15被重定向到someotherdomain.com/dell 查看详情

将所有子目录页面重定向到 .htaccess 中的新域主页

】将所有子目录页面重定向到.htaccess中的新域主页【英文标题】:Redirectallsubdirectorypagestonewdomainhomepagein.htaccess【发布时间】:2017-03-0810:25:07【问题描述】:我想将olddomain.com/subdirectory/下的所有页面重定向到newdomain.com?newdomain.com... 查看详情

301重定向到具有相同url结构的新域

...】:我有一个正在迁移到新域的Magento网站。我希望301将所有页面从旧域重定向到保持相同url结构的新域。我已将旧域上的.htaccess文件更新为:RewriteEngineOnRewriteCond%HTTP_HOST^new-dom 查看详情

使用 URL 中的别名参数将旧子域重定向到新域

】使用URL中的别名参数将旧子域重定向到新域【英文标题】:RedirectingoldsubdomaintonewDomainwithaliasparameterinURL【发布时间】:2016-08-0703:03:05【问题描述】:我已成功将旧子域重定向到新子域这是httpd.conf<VirtualHost*:80>ServerNameabcd.com... 查看详情