.htaccess 不区分大小写的文件名&删除目录

.htaccess 不区分大小写的文件名&删除目录,.htaccess,redirect,.htaccess,Redirect,我将文件加载到服务器的路径与此类似 xyz.com/r/ 现在,为了便于检索,我将与特定文件的每个用户共享此URL。因此,此URL需要不区分大小写且易于记住-类似于以下内容 xyz.com/filename 我已经能够隐藏扩展名.pdf,但有两件事仍然困扰着我 1如何在中间隐藏目录 2如何使文件名不区分大小写 要删除扩展,我使用以下代码 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.pdf -f Re

我将文件加载到服务器的路径与此类似 xyz.com/r/ 现在,为了便于检索,我将与特定文件的每个用户共享此URL。因此,此URL需要不区分大小写且易于记住-类似于以下内容 xyz.com/filename

我已经能够隐藏扩展名.pdf,但有两件事仍然困扰着我 1如何在中间隐藏目录 2如何使文件名不区分大小写

要删除扩展,我使用以下代码

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.pdf -f 
RewriteRule ^(.*)$ $1.pdf
我尝试了指令上的拼写检查,但它对我不起作用


谢谢你的帮助

要使文件名不区分大小写,您需要确保mod_speling处于启用状态,并且需要此指令:

CheckSpelling On
要删除/r/目录,请尝试将规则更改为:

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/r/$1\.pdf -f 
RewriteRule ^(.*)$ /r/$1.pdf [L]

谢谢重定向部分工作正常。但是它使实际的URL无效:顺便说一句,我找到了一个解决我的问题的代码。1美元^r/重写规则^.*$/r/$1[L]