2011-04-06 126 views
0

我写PHP中的MVC框架,并试图用这个模式来重写URL:问题URL重写的.htaccess

www.example.com/contact/send/

读作

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

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

它几乎在任何情况下工作的伟大,唯一的问题是,当我尝试使用一个字符串,它是一个文件夹过,AK“管理员”,没有尾随斜线,网址暴露的变量。

像这样:

www.example.com/admin/ - OK,网址停留就这样

www.example.com/admin - 继承人的问题,网址重定向浏览器于:

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

的$ _GET [“网址”]设置并在这两种情况下工作正常,但我想犯规暴露“网址=管理员。

Theres any way to do that?

谢谢!

的是的.htaccess:

RewriteEngine叙述在

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

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

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

回答

1

我想你错过了! :

RewriteCond %{REQUEST_FILENAME} !-d 

你想重写时,它不是一个目录。

编辑:或者,也许一个例外

RewriteCond %{REQUEST_URI} !^/admin/? 
+0

我试了一下,但还是得到同样的结果。 – Leandro 2011-04-06 20:24:09