2
我已经开发了一个小的(和强大的轻便:-D)PHP MVC框架路由和SEFURL用的.htaccess
我目前遇到的问题是: 路线遵循此顺序
的index.php?选择= samplemodule &行动= sampleController
为ZF用来做前一阵子那将链接到samplemodule和将执行sampleController,漂亮多了。
我试图获得的.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]
与处理的正则表达式是相当困难的
我也喜欢它,传递变量时,这些可能是 /模块/动作/ VAR1/VALUE1形式/ VAR2 /值2
但我不确定重写模式引擎是如何工作的......它是否递归地使用多个规则?
是啊,这应该工作,正则表达式真棒,谢谢,但... –
它不工作大声笑。所以如果你把L引用结尾,它会把它作为最后的规则,它不会继续分析。问题是...我该怎么做才能保持重写? 。所以我们可以说我有以下字符串 var1/a/var2/b/var3/c/var4/d/var5/d/var6/f 程序将匹配第一个var1/a/var2/a,然后剩下的/ var3/c/var4/d ....为其他两个不匹配的规则:S –