2008-10-09 109 views
0

我的mod_rewrite规则有一些问题。我想要处理三种不同的网址格式。Apache - mod_rewrite重写规则问题

  1. http://example.com/%module%/%view%-%args%.html
  2. http://example.com/%module%/%view%.html
  3. http://example.com/%module%

以下mod_rewrite的规则并没有真正的工作 。另外我有问题,查询(例如:user.html?foo = bar)没有效果。

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^([0-9A-Za-z_-]*)/?([0-9A-Za-z_]+)-?([0-9A-Za-z_,]*)\.html$ index.php?__module=$1&__view=$2&__argv=$3 

    RewriteRule ^([0-9A-Za-z_-]*)/?$ index.php?__module=$1&__view=&__argv= 
</IfModule> 

回答

3

对于查询字符串,使用QSA(Query String Append)标记您的规则。

你正在尝试配置的称为“前端控制器”,其中已经有相当多的现成。也许你应该看看一些流行的PHP框架,并采用一个适合你的框架。

+0

我正在研究一个PHP5框架,因为我喜欢编程和边做边学。如果您有兴趣:http://code.google.com/p/quail/。我想保持简单。 – alexvetter 2008-10-09 20:29:56