.htaccess 中的 301 重定向将旧文件路径/名称附加到新 url

2023-12-19

我有两个 URL:old-site.com 和 new-site.com。 我在 old-site.com 上的根文件夹中没有任何文件,只有 .htaccess 文件。我不想再使用旧域名了。但是,我确实想将链接汁传递到新域。因此,我在 .htaccess 文件中创建了 301 重定向,并将其放在 old-site.com 的根文件夹中。

为什么重定向 301 会将“old-site.com/…”附加到 new-site.com 上?

我的整个 .htaccess 看起来像这样(我跳过了一些链接来缩短它):

#Begin 301 Redirects
Redirect 301 / https://www.new-site.com/
Redirect 301 /contactus https://www.new-site/contact-us/
Redirect 301 /rentals https://www.new-site/lodging/
Redirect 301 /lift.html https://www.new-site/our-rentals/boat/
Redirect 301 /rentals.html https://www.new-site/our-rentals/
Redirect 301 /map.html https://www.new-site/contact-us/
Redirect 301 /giftshop https://www.new-site/store/gift-shop/
#End 301 Redirects

我没有任何重写。以上是我的全部代码。

以下重定向工作正常:

Redirect 301 / https://www.new-site.com/

但是,任何其他重定向都会在 new-site.com 上创建以下绝对路径并出现 404 错误:

如果我重定向:

Redirect 301 /contactus https://www.new-site/contact-us/

它转到:


https://www.new-site.com/old-site.com/contactus

or

如果我重定向:

Redirect 301 /lift.html https://www.new-site/lift/

它转到:


https://www.new-site.com/old-site.com/lift.html

为什么重定向 301 会将“old-site.com/…”附加到 new-site.com 上?

谢谢你,

Derek


由于这一行,您的规则不会执行您需要的正确操作Redirect 301 / https://www.new-site.com/它将首先匹配任何请求,如果您将其放在最后,它也会匹配任何请求,因此,如果您希望它仅匹配 root 使用RedirectMatch能够像这样使用正则表达式:

RedirectMatch 301 /?$ https://www.new-site.com/

这样,其余规则将按预期工作。

Note:清除浏览器缓存测试

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.htaccess 中的 301 重定向将旧文件路径/名称附加到新 url 的相关文章

  • 如何通过 .htaccess 删除 URL 中任何位置的空参数或参数?

    我的意思是空参数可以在 URL 中的任何位置 每次不同的位置 每次使用不同的名称 每次在不同的 php 页面上 例如 http www example com AnyPHPpageHere php parameter1 7 paramete
  • htaccess - 将所有非 www 流量重定向到 www

    任何人都可以建议我如何使用 htaccess 文件获取非 www 流量重定向到网站的 www 版本 我知道我在根目录中创建了一个网站 但无法确定要放置什么 任何想法 比较容易 匹配任何不以 www 开头的内容 然后重定向到 www 版本 R
  • 检测 .htaccess 中对 php_value / php_flag 的支持以抑制错误 - PHP CGI 模式 - mod_php

    I use php value and php flag规则在 htaccess例如 php value upload max filesize 100M 但是 当服务器在 CGI 模式而不是 Apache 模式下运行时 这会导致错误 而我
  • 将子域请求重定向到子目录+ https(使用.htaccess)

    我有一些问题 htaccess我就是无法去上班 希望有人能解决这个问题 我有一个 SSL 证书www 域名 on an Apache服务器 我想要全部http subdomain domain com对指定列表的请求子域重定向到https
  • 使用 .htaccess 阻止直接访问 Pdf 文件

    这个问题已经出现过好几次了 我已经尝试了所有可用的选项 但我仍然很难阻止使用绝对 URL 直接访问 pdf 文件 我在 htaccess 文件中使用以下代码 该文件位于 pdf 所在的同一文件夹中 Order Allow Deny
  • Php mod_rewrite 无法正常工作

    我有一个带有以下链接结构的 php 页面 http localhost wisper businesspage php profile creativeartbd 所以我尝试将此链接转换为以下样式 http localhost wisper
  • 保护公用文件夹中的某些文件和文件夹不被查看

    今天我已经为此苦苦挣扎了一段时间 我想要完成的是我需要阻止所有用户访问某些 php 文件和图像以及更多内容 它们位于单独的文件夹中 我正在使用 WAMP 服务器 我不希望用户只能访问该网站 例如 www images crazy cat p
  • 从 python 数据帧插入 DB2 表

    我正在使用 python 库 IBM DB 通过它我可以建立连接并将表读入数据帧 当从 python 中的数据帧源写入 DB2 表 INSERT 查询 时 就会出现问题 下面是连接的示例代码 但有人可以帮助我如何将数据帧中的所有记录插入到
  • 交替附加两个列表中的元素

    我有三个包含元素的列表 a 0 1 2 3 b 5 6 7 8 c 我想附加元素a and b into c to get c 0 1 5 6 2 3 7 8 基本做法 gt gt gt a 0 1 2 3 gt gt gt b 5 6 7
  • 添加/更改 URL 参数并重定向到新 URL

    If the view allURL 中不存在参数 我需要将其与值一起添加到 URL 的末尾 如果它确实存在 那么我需要能够仅更改该值而不创建新的 URL 因为它之前可能有也可能没有其他参数 我找到了这个功能 但我无法让它工作 https
  • PHP 中的依赖注入

    我一直在研究依赖注入 我是在关注某件事还是完全没有关注 代码是好是坏 依赖注入与否 下面的代码是CMS系统的基础 现在有一个名为 page details 的表 其中存储了所有网页 目录 文件结构 htaccess index php cl
  • .htaccess 仅在 safari 上导致重定向循环 - http 到 https

    这种情况只发生在野生动物园中 我不知道为什么 谷歌浏览器 火狐浏览器 一切正常 在任何苹果产品上 使用 Safari 我都会得到一个重定向循环 Code RewriteCond HTTP HOST example com NC Rewrit
  • 将 .htaccess 中的非 www 重定向到 www

    我的 htaccess 文件中有这个 RewriteCond HTTP HOST example com RewriteRule http www example com 1 R 301 L 但每当我访问根目录上的文件时 就像http ex
  • HTAccess - 令人困惑的干净网址

    如果我想简单地重定向 clients page to clients php view page我会使用像这样简单的东西 它效果很好 Options FollowSymlinks RewriteEngine on RewriteRule c
  • Apache HtAccess AddHandler 以服务器名或 ip 为条件

    我在 Site5 上托管我的临时和生产服务器 在我看来 Site5 是一个相对较好的托管商 问题不在于它们的质量 而在于与 PHP 版本相关的问题 我们的开发服务器使用的是 PHP 5 3 这是一个很好的版本 5 4 太新了 我们还不想使用
  • Angular2通用部署到apache远程服务器

    我在将 Web 应用程序部署到 Apache 远程服务器时遇到问题 我已经通过以下步骤部署了一个使用 RESTful API 服务 用 PHP 编写 托管在 public html api 的标准 Angular2 Web 应用程序 在项目
  • 运行没有扩展名的 PHP 页面

    我想在 apache Web 服务器上运行我的 PHP 网页 而不需要 php扩大 所以我添加了以下代码 RewriteEngine on RewriteBase Rewritecond REQUEST URI NC RewriteRule
  • 从 http 页面永久重定向到 https 页面

    当我尝试使用 htaccess 创建从 HTTP 页面重定向到 HTTPS 页面 仅适用于特定页面 的规则时 我收到了循环重定向 我哪里错了 Options FollowSymLinks RewriteEngine On RewriteCo
  • 图像随机损坏(但刷新后加载)并显示“资源解释为图像但使用 MIME 类型 text/html 传输”

    我目前正在开发一个简单的 php 网站 问题是 我的整个网站中的图像 发生在所有 php 文件中 随机损坏并显示错误资源解释为图像 但以 MIME 类型 text html 传输但是 如果我尝试多次刷新页面 可以再次加载图像并且错误消失 我
  • 如何使用mod_headers和mod_expires进行缓存

    我想在我的网站上缓存图像和其他文件 所以我所做的是确保 mod headers 和 mod expires 具有 usr sbin httpd l 然后将 htaccess 编辑为 ExpiresActive On ExpiresDefau

随机推荐