【发布时间】:2014-10-17 17:21:45
【问题描述】:
我有一个前端控制器类。在那个类中,我有解析 url 的函数:
public function parseURL()
{
if(isset($_GET['url']))
{
return $url = explode('/',filter_var(rtrim($_GET['url'],'/'),FILTER_SANITIZE_URL));
}
}
这是基于 RewriteRule(我还是导入到 IIS 中的):
Options -Multiviews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
这是否意味着我的所有表单现在都需要使用 GET?
<form action="/controller/action" method="GET">
不是所有东西都通过前端控制器,甚至我的 CRUD 吗?
例如/controller/action/id。
如果重要的话,我正在使用 IIS。我没有任何用于放置、删除等的隐藏输入。我目前没有使用 AJAX。
【问题讨论】:
-
GET 只是意味着所有相关信息都在 url 中传递。您仍然可以将查询参数(也称为 GET 数据)与其他 http 动词一起使用,例如发布。
-
但是如果我沿着这条路开始,这是否意味着我需要在这个应用程序中“永远”使用 GET。 POST 不应该“更好”吗?
标签: php mod-rewrite url-routing