我在编写.htaccess for Apache以重写几个URL时遇到了问题。
所以,其中一个案例是:
URL: http://localhost/openhoney/google/4/Laura%20Neiva
Rule: RewriteRule ^openhoney/google/([0-9])/(.*)$ /openhoney/showgoogletrend.php?t=$2&id=$1 [L]
Final: http://localhost/openhoney/showgoogletrend.php?t=Laura%20Neiva&id=4
上面的案例运作正常,但如果我尝试类似的东西,它就不会按预期工作。
URL: http://localhost/openhoney/twitter/1489/Coutinho
Rule: RewriteRule ^openhoney/twitter/([0-9])/(.*)$ /openhoney/showtwittertrend.php?t=$2&id=$1 [L]
Final: http://localhost/openhoney/showtwittertrend.php?t=Coutinho&id=1489
在最后一个案例中," Final" URL工作正常,但当我使用" URL"时,它无法正常工作。
有什么想法吗?
答案 0 :(得分:1)
由于([0-9])
只匹配一个号码,如果您想匹配一个或多个号码,可以使用([0-9]+)
;如果您想要4个号码,则可以使用([0-9]{4})
(否)更多,不能少)像这样:
RewriteRule ^openhoney/twitter/([0-9]+)/(.*)$ /openhoney/showtwittertrend.php?t=$2&id=$1 [L]