【发布时间】:2011-07-30 21:02:24
【问题描述】:
我正在用 php 编写一个 mvc 框架,并尝试使用这种模式重写 url:
www.example.com/contact/send/
读作
www.example.com/index.php?url=contact/send/
所以我可以分解 $_GET['url'] 变量并用于 fw 进行路由。
它几乎在任何情况下都很好用,唯一的问题是,当我尝试使用一个也是文件夹的字符串时,ak 'admin',没有尾随斜杠,url 暴露变量。
像这样:
www.example.com/admin/ - 好的,网址保持原样
www.example.com/admin - 这是问题所在,url 将浏览器重定向到:
www.example.com/admin/?url=admin
$_GET['url'] 在这两种情况下都已设置并且工作正常,但我不希望公开 'url=admin'。
有什么办法吗?
谢谢!
.htaccess 是:
重写引擎开启
RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} -d RewriteCond %{REQUEST_FILENAME} -d
重写规则 ^(.*)$ index.php?url=$1 [PT,L]
【问题讨论】:
标签: .htaccess mod-rewrite url-routing