url重写.htaccess的问题

时间:2011-04-06 14:09:18

标签: .htaccess mod-rewrite url-routing

我在php中编写了一个mvc框架,并尝试使用这种模式重写网址:

  

www.example.com/contact/send /

读为

  

www.example.com/index.php?url=contact/send /

所以我可以爆炸$ _GET ['url'] var并使用fw进行路由。

它几乎在任何情况下都很好用,唯一的问题是,当我尝试使用一个文件夹也是一个文件夹时,ak'admin',没有一个尾部斜杠,url暴露了变量

像这样:

  

www.example.com/admin/ - 好的,网址就像那样

     

www.example.com/admin - 这是问题,网址会将浏览器重定向到:

     

www.example.com/admin/?url=admin

$ _GET ['url']已设置并且在两种情况下都正常工作,但我希望不会公开'url = admin'。

Theres有什么办法吗?

谢谢!

.htaccess是:

  

RewriteEngine On

     

RewriteCond%{SCRIPT_FILENAME}! - f   RewriteCond%{REQUEST_FILENAME}!-f

     

RewriteCond%{SCRIPT_FILENAME} -d   RewriteCond%{REQUEST_FILENAME} -d

     

RewriteRule ^(。*)$ index.php?url = $ 1   [PT,L]

1 个答案:

答案 0 :(得分:1)

我想你错过了! :

RewriteCond %{REQUEST_FILENAME} !-d

当它不是目录时你想要重写。

编辑或者可能是例外

RewriteCond %{REQUEST_URI} !^/admin/?