首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zend Framework urls

Zend Framework urls
EN

Stack Overflow用户
提问于 2012-03-08 04:48:54
回答 2查看 634关注 0票数 0

我有一个zend框架应用程序,它似乎运行正常,我可以在domain.com/ IndexController /action上访问我的应用程序。我现在已经做了一个新的控制器,我得到了“页面无法显示”。

但是,我可以通过以下地址访问我的新控制器: domain.com/index.php/ controller /action

我已经检查了所有常见的东西,AllowOverride是打开的,重写是启用的,htaccess文件是你创建Zend示例项目时创建的默认文件。我觉得我错过了一些基本的东西,如果有人能帮上忙,我将不胜感激!谢谢您:)

EN

回答 2

Stack Overflow用户

发布于 2012-03-08 04:55:06

您需要设置路由来控制ZF如何将请求的URL路由(转换)为特定的控制器/操作。

查看Zend Framework路由文档here

尝试将如下内容添加到您的application.ini中:

myroute resources.router.routes.routename.defaults.controller = mycontroller resources.router.routes.routename.defaults.action =

resources.router.routes.routename.route = "/myroute/“myaction

EDIT:在重新阅读您的问题后,您可能会在重写时遇到问题:)您提到allowoverride处于打开状态-您的配置中的确切行是什么?

如果您的请求根本不是通过您的index.php路由的,请尝试"AllowOverride FileInfo“或"AllowOverride All”。

祝好运!

票数 0
EN

Stack Overflow用户

发布于 2012-03-08 16:32:54

我想可能是symlinks

下面是一个有效的vhost示例

代码语言:javascript
复制
<VirtualHost *:80>
    DocumentRoot "C:\www\zf2-tutorial\public"
    ServerName zf2-tutorial.local
    ErrorLog "C:\Zend\ZendServer\logs\zf2-tutorial.local.log"
    SetEnv APPLICATION_ENV "development"
    <directory "C:\www\zf2-tutorial">
    Options Indexes FollowSymlinks
    AllowOverride all
    Order Deny,Allow
    Allow from all
    </directory>
</VirtualHost>

我认为您的问题可能是Options Indexes FollowSymlinks不存在。

尽管urls可能显示为domain.com/index.php/module/controller/action,但它应该与domain.com/module/controller/action一起工作。有几种方法可以从显示的url中删除index.php。我使用的方法是将这一行添加到index.php的顶部

$_SERVER["REQUEST_URI"] = str_replace('index.php','',$_SERVER["REQUEST_URI"]);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9608818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档