使用Apache mod_rewrite在URL中删除冒号

时间:2011-02-23 10:06:55

标签: apache mod-rewrite

我有一个包含这样的内容的网址......

http://www.example.com/stuff/http://www.foobar.com

我希望将其传递给index.php / stuff / http://www.foobar.com

我可以从那里解析它。如果我在URL中没有冒号,它可以正常工作。问题是...... Apache似乎阻塞了冒号“:”字符,它导致了一个Forbidden错误;而且我不能只是“删除”来自其他地方的冒号。

我在Windows上运行Apache,如果它有所作为。

需要帮助!提前感谢你:))

2 个答案:

答案 0 :(得分:0)

我怀疑是否是Apache正在窒息 - 可能是浏览器首先解析了解析 URL。

这是一个无效的网址 - 第二个地址部分应该是网址编码:

http://www.example.com/stuff/http%3a%2f%2fwww.foobar.com

如果可能的话,您应该相应地更改URL结构。

答案 1 :(得分:0)

这是特定于Windows上的Apache的问题,出于安全原因不允许使用冒号,不幸的是Apache捕获了这个并且在您进行任何重写之前服务403 Forbidden。

https://bz.apache.org/bugzilla/show_bug.cgi?id=41441