.htaccess Header 命令在使用转义 URL 时产生错误 500
.htaccess Header command produces error 500 when using escaped URLs
我有很多网页以 PDF 文件的形式单独存在。我被要求通过 .htaccess 告诉 Google PDF 文件的原始 HTML 版本 URL 是什么。
所有网页都可以使用 PHP 的 urlencode()
函数通过编码 URL 访问。 URL 包含公司名称。
工作示例,公司名称“很好的公司”:
<Files company123.pdf>
Header append Link '<https://www.example.com/company/123/Very+good+company>; rel="canonical"'
</Files>
一旦公司名称包含需要编码的字符(例如德语变音符号),Web 服务器就会为整个目录发送错误 500:
非工作示例,公司名称“Very bäd cömpäny”:
<Files company456.pdf>
Header append Link '<https://www.example.com/company/456/Very+b%C3%A4d+c%C3%B6mp%C3%A4ny>; rel="canonical"'
</Files>
我需要更改什么才能解决这个问题?文件包含编码的 URLs 是错误的吗?我是否必须定义未编码的 URL,例如 https://www.example.com/company/123/Very good company
和 https://www.example.com/company/123/Very bäd cömpäny
?
https://httpd.apache.org/docs/2.4/mod/mod_headers.html#header
value may be a character string, a string containing mod_headers specific format specifiers (and character literals), or an ap_expr expression prefixed with expr=
百分比字符是此格式说明符语法的一部分,因此您需要对其进行转义:
The following format specifiers are supported in value:
Format Description
%% The percent sign
… …
您需要在此处将所有 %
个字符加倍。
我有很多网页以 PDF 文件的形式单独存在。我被要求通过 .htaccess 告诉 Google PDF 文件的原始 HTML 版本 URL 是什么。
所有网页都可以使用 PHP 的 urlencode()
函数通过编码 URL 访问。 URL 包含公司名称。
工作示例,公司名称“很好的公司”:
<Files company123.pdf>
Header append Link '<https://www.example.com/company/123/Very+good+company>; rel="canonical"'
</Files>
一旦公司名称包含需要编码的字符(例如德语变音符号),Web 服务器就会为整个目录发送错误 500:
非工作示例,公司名称“Very bäd cömpäny”:
<Files company456.pdf>
Header append Link '<https://www.example.com/company/456/Very+b%C3%A4d+c%C3%B6mp%C3%A4ny>; rel="canonical"'
</Files>
我需要更改什么才能解决这个问题?文件包含编码的 URLs 是错误的吗?我是否必须定义未编码的 URL,例如 https://www.example.com/company/123/Very good company
和 https://www.example.com/company/123/Very bäd cömpäny
?
https://httpd.apache.org/docs/2.4/mod/mod_headers.html#header
value may be a character string, a string containing mod_headers specific format specifiers (and character literals), or an ap_expr expression prefixed with expr=
百分比字符是此格式说明符语法的一部分,因此您需要对其进行转义:
The following format specifiers are supported in value: Format Description %% The percent sign … …
您需要在此处将所有 %
个字符加倍。