相关疑难解决方法(0)

参数长度大于 255 的重写 URL 不起作用

我正在使用 mod_rewrite 来重写这样的 URL:

http://example.com/1,2,3,4/foo/
Run Code Online (Sandbox Code Playgroud)

通过在 .htaccess 中执行此操作:

RewriteEngine On
RewriteRule ^([\d,]+)/foo/$ /foo.php?id=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)

它工作正常,除了当“1,2,3,4”变成长度超过 255 个字符的字符串时,Apache 返回“403 Forbidden”。

foo.php?id=1,2,3,4直接访问没有问题,即使 id 字符串很长,但这对我来说不是一个选择。

我应该调整一些 Apache 或其他设置吗?

更新:我用 RewriteLogLevel 9 打开了 RewriteLog。使用一个短的 id 字符串,我在我的日志文件中得到了几行。但是当 id 字符串大于 255 个字符时,不会记录任何内容(好像 mod_rewrite 甚至没有执行?)。

如果您觉得这个问题有趣/有帮助,请点赞。

mod-rewrite url querystring apache-2.2

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

apache-2.2 ×1

mod-rewrite ×1

querystring ×1

url ×1