URL重写多个规则

时间:2011-10-25 07:22:22

标签: mod-rewrite

我花了一些时间学习如何进行重写并取得了成功,但似乎无法克服这个问题。我有一个网站,如网站www.domain.com/bystate.php?s=Massachusetts,我想更改为www.domain.com/Massachusetts,我按照以下规则执行此操作。

RewriteRule ^([a-zA-Z - /] +)$ bystate.php?s = $ 1

现在,用户选择一个城市的那个页面中的问题就出现了,需要定向到www.domain.com/Massachusetts/west-newburyport

我一直试图让它发挥作用,但它似乎停在第一个rul,因为它符合条件。我尝试将第二条规则放在第一条规则之上,但它没有用。我还尝试添加一个单词'directory'来尝试让它工作,再没有。

我做错了什么?继承人我在哪里。

RewriteRule ^([a-zA-Z - /] +)$ bystate.php?s = $ 1 RewriteRule ^([a-zA-Z - /] +)/([a-zA-Z - /] +)$ bycity.php?s = $ 1& c = $ 2

1 个答案:

答案 0 :(得分:-2)

RewriteRule ^([a-zA-Z0-9-]+)(/(.+))?$ /bystate.php?s=$1&c=$3 [QSA,L]

应该工作得很好吗?!