2011-12-01 81 views
1
RewriteRule ^Buy\-(.*)-b(.*)\.html productdetails.php?bname=$1&bid=$2 

如果$ bname =“购物时间”或$ bname =“时间去购物”,.htaccess中的上述代码正常工作。并给出了下面的链接 http://www.yourdomain.com/Buy-Time去逛街,b1.html 或 http://www.yourdomain.com/Buy-Time去:购物,b1.html.htaccess rewriterule给出错误

但如果$ BNAME =“时间:逛街”上面给出了一个糟糕的链接。 购买时间:去购物-b1.html

+0

啊这是一个错字,我忘了在我的问题的最后一个链接中键入-b1后缀。原本就在那里。并点击链接说,不好的链接 –

回答

0

所以看起来你的问题只是正则表达式中的Buy-与下一个URL中的buy-的情况。如果是这样,那么你只需要在任何情况下[NC]标志:

RewriteRule ^Buy\-(.*)-b(\d+)\.html ...?bname=$1&bid=$2 [NC] 

我冒昧地还添加\d+的特异性。

+1

没有解决问题。 –

+0

我怀疑你的问题描述是关闭的。尝试启用'RewriteLog'来找出问题的根源。 – mario

+0

我对此很陌生,所以我该怎么做?只需将RewriteLog放入.htaccess或在.htaccess中键入RewriteLog即可。这两种方法都会在使用RewriteRule的任何页面上出现500内部服务器错误,如上面提到的那样 –