Apache / Mod Rewrite:将所有内容路由到index.php?

时间:2012-06-28 11:34:25

标签: php apache .htaccess mod-rewrite

我正在编写一个前端控制器,通过解析

来处理页面请求
$_SERVER['REQUEST_URI'].

我想将所有请求路由到/index.php

一些例子如下:

example.com/page2?foo=bar
example.com/page2/?foo=bar
example.com/page/action/123/
example.com/page/action/123

我必须写什么正则表达式规则.htaccess?

我是否需要一个额外的规则,以便example.com/images/目录可以作为“普通”目录使用?

1 个答案:

答案 0 :(得分:3)

您可以尝试这样的事情:

RewriteCond %{REQUEST_URI} !^/dir_under_rootdocument/index\.php
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|js|css)$
RewriteRule (.*) dir_under_rootdocument/index.php/$1 [L,QSA]