首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mod_rewrite的最大url 257个字符长度?

问mod_rewrite的最大url 257个字符长度?
EN

Server Fault用户
提问于 2010-03-05 00:14:53
回答 1查看 15.4K关注 0票数 12

我的网址是/foo/var1-var2-var3./bar

我正在使用以下mod_rewrite规则:

代码语言:javascript
复制
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的长度可以是任意长度。怎样才能克服这个限制呢?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2010-03-11 20:06:30

您正遇到底层文件系统的限制。

看看文件系统限制。您将看到大多数文件名的最大长度为255个字节。因此,当apache和/或重写规则检查文件是否存在时,操作系统会将错误返回给apache。

对于Apache,如果将这样的规则放入.htaccess文件中,那么解决这个问题就为时已晚了。Apache将已经尝试统计长文件名,从而抛出文件系统错误“(36)文件名太长”,返回一个403错误。

我认为有两种选择:

  1. 将应用程序的URL格式更改为每个斜杠之间的最大255个字符。
  2. 将重写规则移动到Apache虚拟主机配置中,并删除REQUEST_FILENAME。
票数 12
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/120397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档