【发布时间】:2013-10-08 09:59:42
【问题描述】:
我开发了一个小型(功能强大且轻量级 :-D)php MVC 框架
我目前遇到的问题是: 路线遵循此顺序
index.php?option=samplemodule&action=sampleController
这将链接到一个 samplemodule 并执行 sampleController,就像 zf 前一段时间所做的那样。
我正在尝试让 .htaccess 将规则重写为 /模块/动作
但由于某种原因它不起作用,这是一段代码
RewriteEngine On # Turn on the rewriting engine
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^[A-Za-z0-9-]+/([A-Za-z0-9-]+)/?$ index.php?option=$1&action=$2 [NC,L]
RewriteRule ^[A-Za-z0-9-]+/([A-Za-z0-9-]+)?$ index.php?option=$1&action=$2 [NC,L]
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?option=$1&action=main [NC,L]
RewriteRule ^([A-Za-z0-9-]+)?$ index.php?option=$1&action=main [NC,L]
处理正则表达式相当困难
我也希望在传递变量时,这些变量的形式可以是 /module/action/var1/value1/var2/value2
但我不确定重写模式引擎是如何工作的......它是否递归地使用了多个规则?
【问题讨论】:
标签: php regex apache .htaccess mod-rewrite