2

在我的 CMS 中,我对 PHP 代码进行了样式调整。

<img src="/var/thumbs<?= $next_page_url ?>.JPG" height="50" alt="Next">

有以下现象:

如果文件名同时包含大写和小写字母 (PIC123a.jpg),则它不起作用。如果文件名只有大写(PIC123.JPG)或只有小写(pic-test.jpg),它可以工作。

如果我使用 .htaccess 中的条目,它也适用于混合的大写和小写字母。

<IfModule mod_speling.c>
  CheckCaseOnly On
  CheckSpelling On
</IfModule>

但我想知道为什么没有这些.htaccess条目就不能工作,分别只有大写或小写。

PS:CMS只有 var $next_page_url,没有$next_page_item. 我不想做太多的 PHP hack。

--- 编辑 --- 更多信息 ---

没有 htaccess 条目:

如果文件扩展名大写和文件名大写 (PIC123.JPG) = 它有效

如果文件扩展名小写和文件名小写 (pic-test.jpg) = 它有效

如果文件扩展名小写且文件名大写 (PIC123.jpg) = 不起作用

4

1 回答 1

2

每当您访问 url 时,就意味着您访问的是 apache 或 nginx 之类的服务器。php 本身不是服务器。它只是处理请求 btu 这些请求首先由 apache 或 nginx 等 Web 服务器处理

CheckSpelling 操作员使 Apache 执行更复杂的工作来查找匹配项,例如纠正常见的拼写错误

这就是为什么使用这段代码来完成任务的原因

<IfModule mod_speling.c>
  CheckCaseOnly On
  CheckSpelling On
</IfModule>

得到它?:)

快乐编码!

于 2016-07-06T22:10:49.573 回答