0

这是我目前用于 MVC 应用程序的重写规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)(/([^/]+))?$ application/controller/$1.php?method=$2&param=$4

显示为:www.website.com/controller/method/param

参数 URI 是可选的。我如何使方法也成为可选方法,以便用户可以访问 www.website.com/controller?

我还可以强制网址有一个斜杠吗?

4

1 回答 1

2

尝试:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)(?:/([^/]+)|)(?:/([^/]+)|) application/controller/$1.php?method=$2&param=$3 [L]

这些(?:/([^/]+)|)是可选的捕获组,允许使用|符号“无”。

于 2013-07-09T20:12:04.840 回答