【问题标题】:How to setup Yii2 routing and apache?如何设置 Yii2 路由和 apache?
【发布时间】:2016-04-20 11:53:30
【问题描述】:

我的目标是使用 Yii-2 编写网络应用程序。我在 ubuntu 上使用 apache 作为我的本地 Web 服务器。目前,我想配置 yii2 urlManager。并在 config/web.php 中写入:

'urlManager' => [
        'class' => 'yii\web\UrlManager',
        'enablePrettyUrl' => true,
        'showScriptName' => false,
    ],

这是简单的设置。 enablePrettyUrl 工作正常,我可以使用 url-link,例如http://localhost/basic/web/index.php/nameOfController/AndAction。 但是当我设置 showScriptName 这对我来说不正确。 我将apache配置为:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

当然,我将 .htaccess 文件添加到 web 文件夹中:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php

我使用基本的 yii2-basic 应用程序,运行服务器后,我可以打开站点,例如: localhost/basic/web/testController/testAction. 但我想使用这样的链接: localhost/basic/testController/testAction,最后一个例子我不使用文件夹web

好的,感谢所有阅读它的人。你知道我该如何解决这个问题吗? 谢谢。 并且 mod_rewrite 也已启用。

【问题讨论】:

    标签: php apache yii2


    【解决方案1】:

    在开发环境中,您只需将 Web 服务器指向 web 目录,在当前状态下,它指向位于上一层的项目根目录。使用 Apache 可以通过更改 DocumentRoot 来完成,请参阅此 answer

    如果你有可能在生产服务器上做同样的事情,没关系。如果不是(例如它是共享主机),这就是您需要做的。

    首先在官方文档中有专门的部分用于在shared hosting上部署和配置应用程序。

    这个问题之前也被问过很多次,这些是他们在 SO 上的链接:

    根据我在共享主机上配置 Yii2 的个人经验,我用符号链接解决了这个问题。

    例如托管为项目提供路径,例如/home/user_name/projects/project_name

    Webroot 是/home/user_name/projects/project_name/htdocs,不允许更改它。我将项目放在单独的文件夹中:/home/user_name/projects/project_name/current。然后我在终端中执行了以下命令:

    cd ~/projects/project_name
    rm htdocs
    ln -s current/frontend/web htdocs
    
    cd ~/projects/admin-project_name
    rm htdocs
    ln -s ../project_name/current/backend/web htdocs
    

    admin-project-name 是后端的单独项目。

    这是用于高级应用程序,对于基本应用程序它只是:

    cd ~/projects/project_name
    rm htdocs
    ln -s current/web htdocs
    

    【讨论】:

      猜你喜欢
      • 2016-01-14
      • 2017-10-17
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      • 2020-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多