Double mod_rewrite可以吗?

时间:2012-03-12 01:45:06

标签: php model-view-controller .htaccess

所以我构建了一个简单的MVC应用程序,因为我想学习新东西。事情有用,但我需要更改网址

在我的.httacces

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /myMVC/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [NE,L]
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>

网址为http://mySite/myMVC/about

是关于控制器,但如果我将所有内容移动到root,它将是

http://mySite/about

但我不想这样做..我想成为

http://mySite/page:about

现在的问题是我使用explode('/',$ path)

$path = $_SERVER['REQUEST_URI'];

因为它是我使用第二个数组的文件夹,如果将其更改为http://mySite/page:about则没有/ ..

我见过一些人使用文件名的前缀让我们说:page_about.php

所以网址为http://mySite/myMVC/page/about

但这仍然是丑陋的......任何提示

1 个答案:

答案 0 :(得分:0)

而不是使用explode试试:

preg_split("/:|\//", $path);

这会被:/爆炸。