zend-framework - 使用 Zend 路由?到自定义网址

标签 zend-framework routes uri custom-routes

这让我很困惑。

如何自定义 /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/

相关文章:

php - 登录 MVC(Zend 框架)

javascript - 获取json响应而不指定 '.json in URL'

asp.net - 如何在 ASP.Net MVC 中执行 301 永久重定向路由

c# - 如何在 WPF 应用程序中引用根目录?

C# - 负载均衡器情况下的二维码链接

php - zend 语言环境让我紧张 : wrong datepresentation

php - 方法 "_getTable"不存在且未陷入 __call()

函数的 Javascript 路由/URL

url - Web Api:Whitespace使ASP.NET 4 Web Api(RC)崩溃

php - 我是否正确理解了如何使用 Zend Framework 构建强大的 php 后端?