【问题标题】:How to .htaccess redirect files of certain type from root to subfolder?如何 .htaccess 将某些类型的文件从根目录重定向到子文件夹?
【发布时间】:2014-02-14 14:04:02
【问题描述】:

一个客户在一个月内将他的 PDF 文件上传到 CMS 的根目录。我想将所有 PDF 移动到一个新的子文件夹中以保持根目录干净。现在的问题是他们在许多文章中绝对链接了这些 PDF。有没有办法可以将所有(且仅)指向根 PDF 的链接重定向到他们的新目的地?

此外,我尝试做功课,但找不到关于 .htaccess 的综合指南,请您分享书签中的最佳宝石。

【问题讨论】:

  • 所以你想要domain.com/abc.pdf => domain.com/subfolder/abc.pdf?
  • 这篇文章可能对你有用:stackoverflow.com/questions/7597182/…
  • @anubhava - 没错。但仅适用于根目录中的 PDF。
  • 好的,在下面发布了一个答案。

标签: apache .htaccess pdf redirect subdirectory


【解决方案1】:

您可以在根 .htaccess 中使用此规则:

RewriteEngine on

RewriteRule ^([^./]+\.pdf)$ /subfolder/$1 [L,NC,R=301]

【讨论】:

  • 不幸的是,这给了我整个网站的 500 内部服务器错误
  • 啊抱歉,( 丢失,已修复。立即尝试。
  • 现在可以了!你从哪里知道这些东西的,伙计?你从哪里学来的?我也想学。
  • 这主要是因为我喜欢正则表达式和在线 Apache 参考手册。看来您不喜欢我的答案,但在其他答案中有很多需要纠正的地方。 1.添加[L,NC,R=301]标志2.转义点(否则理论上它也可以匹配/abc_pdf 3.正则表达式的更正,否则正则表达式匹配URI,例如/Apdf
  • 我同意,我的正则表达式中的点匹配任何内容,应该被转义。
【解决方案2】:

应该这样做:

RewriteEngine on
RewriteBase /
RewriteRule ^([^/]*?).pdf$ newpath/$1.pdf

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-29
    • 2021-09-03
    • 2011-01-19
    • 1970-01-01
    • 2011-01-14
    • 2012-02-27
    • 1970-01-01
    相关资源
    最近更新 更多