htaccess中的“+”符号

时间:2009-11-16 08:01:52

标签: .htaccess url-rewriting

我正在使用htaccess。我尝试在'C ++'中传递url中的值。

喜欢“ http://domain.com/Details/c++/detail.html

我正在检索htaccess中的值,如

RewriteRule ^ Details /([a-zA-Z_0-9 _。,'& / - ] +)/(([a-zA-Z_0-9 _。,'& / - ] +)。html) $ index.php?page = $ 2& id = $ 1

但它只返回'c'。符号'+'不被接受。我需要值'c ++'。

有没有解决方案?

5 个答案:

答案 0 :(得分:3)

尝试对+字符进行编码。

http://domain.com/Details/c%25%25/detail.html

答案 1 :(得分:1)

是否可以逃避它,例如http://domain.com/Details/c%25%25/detail.html。 (我只是在猜测)

答案 2 :(得分:1)

http://domain.com/Details/c%2B%2B/detail.html

答案 3 :(得分:1)

一个小小的安慰是:你并不孤单。由于这个问题是在URI中设计的,因此像谷歌这样的大型网站存在问题:

http://www.google.com/search?q=c++

这只搜索“c”。

答案 4 :(得分:1)

使用B flag

进行尝试
RewriteRule ^Details/([a-zA-Z0-9_.,'&/-]+)/([a-zA-Z0-9_.,'&/-]+\.html)$ index.php?page=$2&id=$1 [B]