高级htaccess url重写

时间:2013-06-23 08:58:11

标签: php .htaccess url-rewriting url-routing

我已经在php中开发了一个简单的mvc作为我的最终项目,但系统使用了丑陋的URL。我环顾四周,但似乎很有进步: 变换:

http://example.com/[subfolder]/controller/view/p:val/p:val/p:val
into:
http://example.com/[subfolder]/?m=controller&v=view&params[]=p:val&params[]=p:val&params[]=p:val

具有未知数量的“p:val”和可能的子文件夹。 有人可以帮助我吗?

我已经阅读了一个教程,其中可以将.htaccess文件“连接”到php文件以重写URL。我不知道如何连接文件。

1 个答案:

答案 0 :(得分:0)

嗯,您可以使用以下方法将整个请求映射到您的主要php文件:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /your_main_file.php [QSA,L]
</IfModule>

现在您可以映射请求:

preg_match('#/(?<controller>(\w+))/(?<view>(\w+)#', $_SERVER['REQUEST_URI'], $result);

等等......