在字符串中接受+的Mod_rewrite条件

时间:2013-06-09 06:15:33

标签: .htaccess mod-rewrite

首先,我保证我到处寻找,但我要么找不到合适的答案,要么不知道我找到了正确答案并继续前进(可能)。我有一些字符串可能包含一个或多个单词,这些单词在我的普通页面中用+表示,看起来像http://beaneandco.com/pageTESTING.php?name=Boys+Shirt。此页面工作正常,除了它很脏。我写了一个重写代码来清理它。

RewriteEngine On
RewriteBase /
RewriteRule ^([a-zA-Z0-9])$ pageTESTING.php?name=$1 [QSA,L]
RewriteRule ^([a-zA-Z0-9])/$ pageTESTING.php?name=$1 [QSA,L]

如果我的页面只是一个单词,就像在Boys中一样,它在缩短时效果很好。无论出于何种原因,当它有两个单词或更多的单独分隔时,它就不再起作用了。我的页面开头有一个GET,如果有任何改变,就会有这个字符串。那么......我错过了什么?

提前致谢。

1 个答案:

答案 0 :(得分:0)

在regexp代码中添加您在URL中的+,空格和其他字符。

在你的htaccess中试试这个:

RewriteEngine On
RewriteBase /
RewriteRule ^([a-zA-Z0-9_\+ \-])$ pageTESTING.php?name=$1 [QSA,L]
RewriteRule ^([a-zA-Z0-9_\+ \-])/$ pageTESTING.php?name=$1 [QSA,L]