最佳实践是编写查询解析器。请参阅 TinyMVC 框架中的示例,或 serach google 中的路由器、前端控制器、调度程序等。
这可能很难实现,因为您有自定义参数名称,例如“c”和“a”。因此,您必须编写一些映射,将人类可读的参数名称分配给变量名称,例如:
'city' => 'c'
'name' => 'a'
您的查询解析器还可以通过某种方式自动分配变量,例如:
/domain/services/c=london/n=peter/
如果您将所有请求重新映射到 .htaccess 中的一个 php 文件(通常是 index.php),这种调度程序可以与您的所有链接一起运行,不包括图像、swf、css、js 等。
您将决定如何规划您的 url 路由逻辑。记住特殊字符和 url 编码。
考虑按数字顺序获取参数值,例如“第一个参数”、“第二个参数”,以创建通用 url 模式,例如 /module/action/param1/param2/ 等。因此,您始终可以通过数字获取参数,而与参数名称无关。
您当然可以在 htaccess 中编写命令,但是添加新操作时会出现问题。
如果即使用户单击链接、提交表单等,您也想提升那些“理想”的 url,您不能只更改 .htaccess 或编写路由器。您还必须更改代码中的链接/操作或编写 URL 构建器,例如
<a href="<?php buildUrl( 'modulke' , 'action' , 'param1' , 'param2' ); ?>">aaaa</a>