将Yii2部署到共享主机,直接到基本模板文件夹

时间:2017-08-18 19:22:00

标签: php deployment yii2

我已阅读Yii2官方网站上的文档,将yii2部署到共享主机中:http://www.yiiframework.com/doc-2.0/guide-tutorial-shared-hosting.html,以及有关此问题的讨论:stackoverflow

所以,我决定使用sftp上传yii2文件夹。 这是我的共享主机中的目录列表。

access-logs
etc
logs
public_ftp
public_html
ssl
www (this is a link folder to public_html)

你知道,因为共享主机可以保留域直到5个域, 是否可以将yii2basic文件夹上传到public_html文件夹?

结果如下:

access-logs
etc
logs
public_ftp
public_html
    -basic
        - bunch of yii folders here
ssl
www (this is a link folder to public_html)

因为现在,如果我想访问我的网页,我必须这样写:mydomain.com/basic/public_html/index.php

我需要这样:

mydomain.com/index.php

请指导我。

2 个答案:

答案 0 :(得分:1)

是的,您可以将其上传到public_html文件夹中,但我现在使用yii2基本应用程序遇到的唯一问题是漂亮的URL,您可以克隆或上传public_html文件夹中的整个内容,我所做的只是如下区别只是我有一个web文件夹而不是www

目录结构

public_html
  assets
  commands
  config
  controller
  mail
  migrations
  models
  runtime
  tests
  vendor
  views
  web

的public_html / htaccess的

<IfModule mod_rewrite.c>
    Options +SymLinksIfOwnerMatch
    RewriteEngine On
</IfModule>

<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_URI} ^/.*
    RewriteRule ^(.*)$ web/$1 [L]

    RewriteCond %{REQUEST_URI} !^/web/
    RewriteCond %{REQUEST_FILENAME} !-f [OR]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ web/index.php
</IfModule>

的public_html /网络/ htaccess的

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

RewriteRule ^(.*)$ /index.php?/$1 [L]

这有效,但在网址中显示/web/index.php?r=site/index,一旦我在配置文件prettyUrl中打开urlManager,它就会显示默认索引页面和我尝试的每个链接虽然地址栏中的URL是正确的并且urlManager正确地解析了规则,但是在主页视图中打开了,这就是我已经走了。

答案 1 :(得分:0)

如果您不介意根文件夹中的Yii 2文件夹,请将所有基本模板文件夹(if (textField == self.phoneField || textField == self.faxField) { 除外)和文件放在根文件夹中。然后将web文件夹的内容放在web文件夹中。

应该是这样的:

public_html