这让我很困惑。
如何自定义 /state/state_name
以替换为 /state/state_name.php
?
最初 state_name
是一个变量,我不希望每个状态都是我的 StateController
中的一个操作。相反,我想获取该变量并在特定操作 loadAction()
中处理它以处理内容。
这是因为 URL /state/state_name.php
已经进行了 SEO 优化,我希望使用 Zend Framework 使其保持这种形式。
感谢您的帮助。任何建议都将受到欢迎!
最佳答案
也许是这样的:
$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
更好。但即便如此,你也会走上一条可能有难闻气味的道路。如果您想使用同一个 Controller 作为返回 JSON 或 XML 数据的 AJAX 请求的端点,该怎么办?
就我个人而言,我会放弃这个后缀。
关于zend-framework - 使用 Zend 路由?到自定义网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9412007/