正在修改MVC应用程序的.htaccess重写规则


Modifying .htaccess rewrite rule for MVC application

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

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

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

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

我还可以额外强制url有一个尾部斜杠吗?

尝试:

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

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