首先,我保证我到处寻找,但我要么找不到合适的答案,要么不知道我找到了正确答案并继续前进(可能)。我有一些字符串可能包含一个或多个单词,这些单词在我的普通页面中用+表示,看起来像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,如果有任何改变,就会有这个字符串。那么......我错过了什么?
提前致谢。
答案 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]