这让我很困惑。
如何自定义/state/state_name
替换为/state/state_name.php
?
最初state_name
是一个变量,我不希望每个州都成为StateController
中的一个动作。相反,我想采用该变量并在特定的操作loadAction()
中处理它以处理内容。
这是因为网址/state/state_name.php
已经过SEO优化,我希望它使用Zend Framework保持这种形式。
感谢您的帮助。欢迎任何建议!
答案 0 :(得分:2)
可能是这样的:
$route = new Zend_Controller_Router_Route_Regex(
'state/([^/]+)\.php',
array(
'controller' => 'state',
'action' => 'load',
),
array(
'state_name' => 1,
),
'state/%s.php'
);
但为什么保留.php
后缀非常重要?如果有的话,它会不必要地暴露用于构建页面的底层服务器端技术。如果您以后将整个站点更改为Ruby On Rails或Django怎么办?为什么要把自己绑在PHP上?
如果你真的很喜欢后缀,那么我认为.htm
或.html
更好。但即便如此,也会让你走上一条带有可能难闻气味的道路。如果要将此同一个控制器用作返回JSON或XML数据的AJAX请求的端点,该怎么办?
就个人而言,我会对后缀保释。