【问题标题】:.htacces rule for specific filename pdf特定文件名 pdf 的 .htaccess 规则
【发布时间】:2022-01-31 19:43:27
【问题描述】:

我正在尝试为特定的 Pdf 分配一个规范(基于它们的文件名),同时我需要为所有其他 pdf 分配一个通用的规范。

我实际上是在使用这些规则:

<Files The-life-of-RINGO.pdf> 
Header add Link '<https://website.com/01/canonical/>; rel="canonical"'
</Files>
<Files Product-new.pdf> 
Header add Link '<https://website.com/02/canonical/>; rel="canonical"'
</Files>
<Files Presentation.pdf> 
Header add Link '<https://website.com/03/canonical/>; rel="canonical"'
</Files>
<Files The-rulebook.pdf> 
Header add Link '<https://website.com/04/canonical/>; rel="canonical"'
</Files>
<Files Adventure-trial.pdf> 
Header add Link '<https://website.com/05/canonical/>; rel="canonical"'
</Files>

# PDF Canonical
RewriteRule ([^/]+)\.pdf$ - [E=FILENAME:$1]
<FilesMatch "\.pdf$">
    Header add Link '<https://www.website.com/uploads/%{FILENAME}e>; rel="canonical"'
</FilesMatch>

问题是,现在 htaccess 通过应用不同的规则将规范添加到特定的 pdf。

例如在 The-life-of-RINGO.pdf 中添加:

有没有办法添加条件逻辑来忽略前 5 个文件的通用 pdf RewriteRule?

谢谢。

【问题讨论】:

标签: .htaccess pdf


【解决方案1】:

反之亦然 - 首先为所有 PDF 设置规范,然后为单个 PDF 使用 set 而不是 add

https://httpd.apache.org/docs/2.4/mod/mod_headers.html#header:

add:响应头被添加到现有的头集中,即使这个头已经存在。这可能导致两个(或更多)标题具有相同的名称。这可能会导致无法预料的后果,通常应该使用 set、append 或 merge。

set:设置响应标头,用此名称替换之前的任何标头。该值可能是格式字符串。

【讨论】:

    猜你喜欢
    • 2012-07-31
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    相关资源
    最近更新 更多