将旧域的每个页面重定向到新域上的同一页面 URL

购买

我知道这个问题已经被问到了各种变体,但我仍然找不到确切的答案。我已经更改了我的域名。所有网站文件和网址仍然相同。旧域仍然指向同一台服务器,我在 htaccess 文件中有以下代码。

 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
 RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
 RewriteRule ^(.*)$ "https\:\/\/www\.newdomain\.com\/$1" [R=301,L]

问题是这只会重定向旧域主页。我该怎么做才能不必为每个页面添加单独的重定向。

怀特先生

听起来您将这些指令放在.htaccess文件中的错误位置它们需要放在文件的开头,而不是结尾。

这些指令看起来是典型的 cPanel 生成的重定向。cPanel 总是将重定向放在.htaccess文件的末尾(这通常是不正确的)。

如果您在此之前有一个前端控制器(例如 WordPress 使用的控制器),那么您会发现这些指令只会处理对文档根目录(即“主页”)的请求,因为所有其他请求都将停止通过前端控制器。

这些指令也可以简化:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com [NC]
RewriteRule (.*) https://www.newdomain.com/$1 [R=301,L]

我已经$CondPattern的末尾删除了以匹配 FQDN(以点结尾)。

也不需要在RewriteRule 替换中反斜杠转义冒号、斜杠和点,因为这些字符在这里没有特殊含义(它不是正则表达式)。(这种不必要的转义是 cPanel 的典型特征。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在德语站点上反复刮擦同一页面以查找不同的URL

从解析器重定向到404页面时,将URL设置为取消的路径

如何使用URL中的$ _GET参数重定向到同一页面

DJANGO MEDIA_URL返回同一页面而不显示图像

使用Nuxt.js和Vue-i18n重定向到同一页面但切换了语言url

使用htaccess,如何将所有非www的子域URL重定向到新域上的相同子域URL?

如何使用vue-router使用无效的URL参数重定向到404页面

多语言重定向URL到同一页面

Angular5,在路由上,URL更改,但未加载同一页面

将URL引荐来源网址(来源)限制为根URL或同一页面

将HTML登陆页面集成到Hybris或将URL重定向到另一台服务器

Django不同的URL进入同一页面

有没有办法将所有具有相同基本URL段的URL路由到Gatsby中的同一页面?

将旧站点重定向到新地址,但将一页重定向到新URL

使用.htaccess将具有查询字符串的url重定向到404页面

URL重写重定向到同一页面

找出两个URL是否导航到同一页面

如何将不同的URL重定向到同一域上的不同端口?

.htaccess将所有页面和URL从旧域重定向到新域

Apache:从子域重定向到Wordpess页面URL路径

IIS 7.5 URL重写:从旧域到新域的重定向规则似乎不起作用

如何使用MVC路由将URL从旧WebForms站点重定向到新MVC5站点上的子域

通过url将多个参数传递到ASP MVC和Javascript的同一页面

如何使用htaccess使用不同的URL呈现同一页面

仅当用户来自表单页面时,如何在提交表单后将CodeIgniter中的URL重定向回上一页?

C#WebBrowser在循环URL列表时导航到同一页面?

使用 htaccess 将一个 URL 重定向到同一域上的另一个 URL

在angularjs中使用不同的url名称重定向到同一页面

htaccess - 将整个域重定向到新域上的特定 url