1

我正在使用一个前端控制器,它使用如下 URL:

http://www.domain.com/index.php?action=main.Main,其中“main”是模块,“Main”是操作。

对于 URL 重写,我在 htaccess 中使用这一行:

RewriteRule ^([^/]+)\.html$ index.php?action=$1 [QSA] 

这导致http://www.domain.com/main.Main.html

现在,如何用斜杠替换模块和操作之间的点,以便结果如下所示: http://www.domain.com/main/Main

4

3 回答 3

2

那么试试这个:

RewriteRule ^(.*)/(.*)$ index.php?action=$1.$2 [QSA]
于 2012-08-24T19:14:25.577 回答
1

试试这个:

RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)/(.*)\.html$ /$1.$2.html [L]

RewriteCond %{REQUEST_URI} \.html$
RewriteCond %{REQUEST_URI} !/.+/
RewriteRule ^([^/]+)\.html$ index.php?action=$1 [L,QSA] 

这将接受如下请求:http://www.domain.com/main/something/action/Main.html并将 URI 重写为:/index.php?action=main.something.action.Main

于 2012-08-24T19:14:53.690 回答
0
RewriteRule ^(.*)/(.*)$ index.php?module=$1&action=$2 [QSA] 
于 2012-08-24T15:02:54.607 回答