【发布时间】:2014-03-05 15:37:25
【问题描述】:
嗯,我的 .htaccess 中有重写规则
RewriteRule ^([a-z]+)/?([a-zA-Z0-9+_-]+)?,?((\d+))?/?((\d+))?/?$ index.php?page=$1&id=$2&cat=$3&view=$5 [QSA,L]
所以如果我有这样的页面:/search/search+word,5/2 没有问题...
但如果我有这样的页面:/search/%EA%EE%F2%EA%E8,5/2 有问题。我的搜索表单不能使用西里尔字母。我尝试将 % 或 \% 或 ^% 放入 RewriteRule 但没有运气:( 我尝试使用更多符号,而不是在索引中用 % 替换它,但再次不起作用。
有人能告诉我如何让这个 RewriteRule 与 % 一起使用吗? (或者用另一个我可以使用的符号)
编辑:
使用这条规则:
RewriteRule ^([a-z]+)/?([^,]+)?,?((\d+))?/?((\d+))?/?$ index.php?page=$1&id=$2&cat=$3&view=$5 [QSA,L,B]
答案是:
sitename.com/ -> Page:index; ID:.php; CAT:; VIEW:; <- ERROR: must be page="" and ID=""
sitename.com/home/ -> Page:home; ID:; CAT:; VIEW:;
sitename.com/video/152 -> Page:video; ID:152; CAT:; VIEW:;
sitename.com/video/0/3/ -> Page:video; ID:0/3; CAT:; VIEW:; <- ERROR: must be VIEW=3
sitename.com/search/ -> Page:search; ID:; CAT:; VIEW:;
sitename.com/search/search+word/ -> Page:search; ID:search+word/; CAT:; VIEW:; <- Its OK... but still don't want this / in the id query
sitename.com/search/search+word,2/ -> Page:search; ID:search+word; CAT:2; VIEW:;
sitename.com/search/search+word,2/3/ -> Page:search; ID:search+word; CAT:2; VIEW:3;
【问题讨论】: