这是我当前用于MVC应用程序的重写规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)(/([^/]+))?$ application/controller/$1.php?method=$2¶m=$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¶m=$3 [L]
(?:/([^/]+)|)
是可选的捕获组,允许使用|
符号"无"。