0

我是zend框架的新手,我正在尝试配置zend。我成功地安装zendskeleton广告应用程式上窗口7XAMPP页面找不到请求url在zend 2框架应用

安装完毕后,我创造新的模块专辑按照用户指南定义。我是根据指南制作所有代码和页面,但在此之后,我可以打开专辑模块。我没有找到404错误。

这里代码

  1. application.config

    return array(
    
    'modules' => array(
    'Application','Album', 
    ), 
    
    'module_paths' => array(
    './module', 
    './vendor', 
    ), 
    
    'config_glob_paths' => array(
    'config/autoload/{,*.}{global,local}.php', 
    ), 
    
    ), 
        ); 
    
  2. module.config

    return array(
        'controllers' => array(
        'invokables' => array(
        'Album\Controller\Album' => 'Album\Controller\AlbumController', 
        ), 
        ), 
         'router' => array(
         'routes' => array(
         'album' => array(
          'type' => 'segment', 
          'options' => array(
           'route' => '/album[/][:action][/:id]', 
            'constraints' => array(
             'action' => '[a-zA-Z][a-zA-Z0-9_-]*', 
              'id' => '[0-9]+', 
              ), 
              'defaults' => array(
               'controller' => 'Album\Controller\Album', 
                'action' => 'index', 
             ), 
            ), 
           ), 
          ), 
         ), 
    
              'view_manager' => array(
              'template_path_stack' => array(
              'album' => __DIR__ . '/../view', 
              ), 
             ), 
            ); 
    
  3. Module.php

    ​​
  4. 的httpd-vhosts.conf

    <VirtualHost *:81> 
    ServerName zf2-tutorial.localhost 
    DocumentRoot "C:/xampp\htdocs/ZendSkeletonApplication/ZendSkeletonApplication-master/public" 
    SetEnv APPLICATION_ENV "development" 
    <Directory C:/xampp\htdocs/ZendSkeletonApplication/ZendSkeletonApplication-master/public> 
        DirectoryIndex index.php 
        AllowOverride All 
        Order allow,deny 
        Allow from all 
        </Directory> 
        </VirtualHost> 
    
  5. 主机条目在SYSTEM32

    127.0.0.1:8081  zf2-tutorial.localhost 
    

enter image description here

我该如何处理它。 谢谢

回答

2

当您指向与Apache文档根目录到C:/xampp\htdocs/ZendSkeletonApplication/ZendSkeletonApplication-master/public

您需要在浏览器中使用这个网址http://zf2-tutorial.localhost:8081/album ,而不是像你写http://zf2-tutorial.localhost/ZendSkeletonApplication/ZendSkeletonApplication-master/public/album

此URL指向内部的不同模块/位置。

//编辑

如果不行请检查您的ZF2 /public文件夹中,如果有一个.htaccess文件目前以其它方式使用该文件从这里https://github.com/zendframework/ZendSkeletonApplication/blob/master/public/.htaccess

了Zend框架应用程序,请检查您的apache vhost入门如果port等于您的windows host文件端口。

确保apache ModRewrite已加载!

+0

我打电话给url http://zf2-tutorial.localhost/album,但浏览器无法识别它...查看上面的更新 –

+0

它看起来像没有''.htaccess''文件甚至''ModRewrite' '不打开 – ins0

+0

'zf2-tutorial.localhost'也不能正常工作..其中'.htaccess'必须放? ,并在'http.config'我已经打开'ModRewrite' –

0

看来你缺少你的网络服务器的虚拟主机条目。这可能是您的应用程序无法正确解析您的请求的原因。再次检查“获取startet:骨架应用程序”,以提供正确的配置。

+0

谢谢你的回答。现在我插入到vhost文件中。当我打开“zf2-tutorial.localhost”不是网页发现错误来了。 –

0

你需要这个hostfile条目。在这个文件中添加端口是不可能的。

127.0.0.1 zf2-tutorial.localhost 

该网站现已在ZF2-tutorial.localhost:81(而不是8081,您可以设置81中的httpd-vhosts.conf的第一行的端口号)

+0

感谢您的回答。我进行了更改,但仍然无法正常工作。 –

+0

你仍然得到“此网页不可用”的消息或做这种更改导致另一个错误? – Thomas

+0

是的,我仍然得到相同的错误 –

1

在基本配置错误的安装程序导致此错误。

  1. 我不会随时使用Windows,但您在路径中同时使用了前向和反向。首先,你应该为windows找到正确的目录分隔符,并坚持下去。这似乎是有问题的:C:/xampp\htdocs/foo/bar/public
  2. 你定义它侦听端口的任何IP地址81一个虚拟主机(* 81),一个SYSTEM32主机条目指向端口8081zf2-tutorial.localhost别名并试图调用使用端口80zf2-tutorial.localhost/album网址。获得这种错误很正常。

完整阅读官方Getting StartedUsing Apache Web Server文档后,您可以轻松找出解决方案。

+0

感谢您的答复。对不起,犯了错误。我更新了它仍然不起作用 –

+1

我已经对'http.conf'文件'允许fileinfo'和'vhost'文件进行了修改 –