使用.htaccess在一定数量后忽略字符

时间:2012-11-24 00:00:35

标签: apache .htaccess

我正在寻找.htaccess的代码,它会忽略文件的某些字符。

例如。

我的服务器上有一个名为file.txt的文件,网络上的链接转到我的文件,但链接是http://www.myserver.com/file12345.txt

我正在寻找重写传入链接的命令,并忽略前4(文件)后的所有字符,无论文件有多少个字符。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试将此添加到文档根目录中的htaccess文件:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(.{4})[^.]+\.([a-z]{2,})$
RewriteCond %{DOCUMENT_ROOT}/%1.%2 -f
RewriteRule ^ /%1.%2 [L]

第一个条件确保请求有4个字符,然后至少有一个不是.的其他字符,然后是.和至少2个字符的扩展名。下一个条件检查以确保在前4个字符之后删除的内容实际指向文件。如果是这样,则进行内部重写。如果您想实际重定向浏览器,请在方括号中添加R标记。