【问题标题】:htaccess redirect folder and subfolders to one url onlyhtaccess 仅将文件夹和子文件夹重定向到一个 url
【发布时间】:2019-02-01 18:49:29
【问题描述】:

我一定是第一个对 htaccess 重定向感到沮丧的人,哈哈。

已搜索但找不到解决方案:

我有几个这样的 404:

https://www.example.com/category/uncategorized/page/4/detox
https://www.example.com/category/uncategorized/page/5/detox
https://www.example.com/category/uncategorized/page/6/detox
https://www.example.com/category/uncategorized/page/7/detox

我想这样重定向:

来自

https://www.example.com/category/uncategorized/ 

以及此下的所有子文件夹或页面

https://www.example.com/category/alcohol-drug-rehab/

(只有这个确切的 url,所有子文件夹都应该重定向到这个子文件夹)

我试过了

RedirectMatch 301 ^/category/uncategorized/(.*)$ https://www.example.com/category/alcohol-drug-rehab/

...以及其他几种变体。

但是这会导致如下重定向:

https://www.example.com/category/alcohol-drug-rehab/page/4/detox
https://www.example.com/category/alcohol-drug-rehab/page/5/detox
https://www.example.com/category/alcohol-drug-rehab/page/6/detox
https://www.example.com/category/alcohol-drug-rehab/page/7/detox

如何更改重定向以停止重写后显示子文件夹的 url,而仅重定向到页面 https://www.example.com/category/alcohol-drug-rehab/

如果可能,我更喜欢直接重写语句而不是 mod 重写,谢谢。

谢谢

【问题讨论】:

  • 尝试添加?在规则结束时,空浏览器缓存测试
  • 嗨,谢谢,试过了,不高兴,仍然通过在末尾添加子文件夹重定向到错误页面:example.com/category/alcohol-drug-rehab/page/7/detox
  • 你清空了浏览器缓存吗?
  • 是的,缓存已清除

标签: .htaccess redirect


【解决方案1】:

忽略初始路径后面的任何内容:

RewriteEngine on
RewriteRule ^/?category/uncategorized/ https://www.example.com/category/alcohol-drug-rehab/ [R=301,QSD]

此规则同样适用于 http 服务器主机配置或动态配置文件(“.htaccess”文件)。显然重写模块需要在http服务器内部加载并在http主机中启用。如果您使用动态配置文件,您需要注意它的解释在主机配置中完全启用,并且它位于主机的 DOCUMENT_ROOT 文件夹中。

一般来说:您应该始终喜欢将此类规则放在 http 服务器主机配置中,而不是使用动态配置文件(“.htaccess”)。这些动态配置文件增加了复杂性,通常是导致意外行为的原因,难以调试,而且它们确实减慢了 http 服务器的速度。它们仅在您无法访问真正的 http 服务器主机配置(阅读:非常便宜的服务提供商)或坚持编写自己的规则的应用程序(这是一个明显的安全噩梦)的情况下作为最后一个选项提供。

【讨论】:

  • 您好,谢谢您,遗憾的是它没有用。所以example.com/category/uncategorized/page/4/detox 仍然重定向到example.com/category/alcohol-drug-rehab/page/4/detox 它在 htaccess 文件中,并且 Rewrite Engine 处于打开状态。所有其他类型的重定向都可以正常工作,只是这个不行。感谢任何想法。还是这个阶段回到宿主的情况。谢谢
  • 上述规则重定向到/category/alcohol-drug-rehab/page/4/detox。您正在查看缓存的结果(检查您的浏览器网络控制台以了解您是否真的收到重定向或结果是否从缓存中加载,也可以尝试匿名浏览器窗口)。也可能是其他一些规则负责该重定向,但肯定不是这里给出的规则。
  • 好的,谢谢,我会再看看可能存在的任何冲突重定向。
猜你喜欢
  • 2017-12-05
  • 1970-01-01
  • 2013-02-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-29
相关资源
最近更新 更多