我的网址是/foo/var1-var2-var3./bar
我正在使用以下mod_rewrite规则:
RewriteBase /foo/
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [PT,L]如果字符串‘var1-var2’的长度.大于257个字符,则返回错误403、禁忌和404。但是,如果‘var1-var2’的长度.字符串为257个或更短的字符,后面跟着一个斜杠,剩余url的长度可以是任意长度。怎样才能克服这个限制呢?
发布于 2010-03-11 20:06:30
您正遇到底层文件系统的限制。
看看文件系统限制。您将看到大多数文件名的最大长度为255个字节。因此,当apache和/或重写规则检查文件是否存在时,操作系统会将错误返回给apache。
对于Apache,如果将这样的规则放入.htaccess文件中,那么解决这个问题就为时已晚了。Apache将已经尝试统计长文件名,从而抛出文件系统错误“(36)文件名太长”,返回一个403错误。
我认为有两种选择:
https://serverfault.com/questions/120397
复制相似问题