我需要为此网址重写规则
http://localhost/~user/frame/lib/index.php?/controller/method/12/22/
我怎样才能重写它,我可以这样称呼它
http://localhost/~user/frame/lib/controller/method/12/22/
上述问题的重写规则是什么? 我希望我能清楚地解释我的问题。
答案 0 :(得分:1)
尝试此规则:
RewriteRule $2 !^index\.php$
RewriteRule ^(/~[^/]+/[^/]+/[^/]+)(/.*)? $1/index.php?$2
根据您要使用此规则的位置(我的建议是针对服务器/虚拟主机配置),您可能需要从模式中删除上下文路径前缀。因此,如果您想在 /~user / 中使用.htaccess文件中的规则:
RewriteRule $2 !^index\.php$
RewriteRule ^([^/]+/[^/]+)(/.*)? $1/index.php?$2
或者如果在 /~user / frame / lib / :
RewriteRule $0 !^index\.php$
RewriteRule .* index.php?/$0
答案 1 :(得分:0)
RewriteRule ^(.*)lib/(.*)$ / $1lib/index.php?/$2
这是最简单的方法,但不是最强大的,因为它可能会与其他网址混在一起。所以值得彻底检查,或者发布整个.htaccess文件。