我在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]
答案 0 :(得分:1)
我想你错过了! :
RewriteCond %{REQUEST_FILENAME} !-d
当它不是目录时你想要重写。
编辑或者可能是例外
RewriteCond %{REQUEST_URI} !^/admin/?