如何重定向我的页面

时间:2015-04-27 07:14:01

标签: php .htaccess mod-rewrite url-rewriting yii2

我在免费的webhost网站上传了我的yii2模板高级项目...我的问题是我可以在这样的浏览器中打开我的网站

  

http://mysite.freehost.com/yiiproj/frontend/web/

如何删除该前端/网络?

所以,当我打算在浏览器中打开我的前端时,就像这样

  

http://mysite.freehost.com/yiiproj/

提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可以在Root / .htaccess

中尝试此操作
  RedirectMatch 301 ^/yiiproj/?$ http://mysite.freehost.com/yiiproj/frontend/web/

如果RedirectMatch没有帮助,请尝试以下操作。

 RewriteEngine on 
 RewriteRule ^yiiproj/?$ http://mysite.freehost.com/yiiproj/frontend/web/ [R=301,NC,L]

答案 1 :(得分:0)

您需要将所有框架部分放在网络外部并且可以下载'文件夹。在任何免费托管中,您都可以在' public_html'中找到可下载的部分。或者' www'夹。

基本应用

  1. 在www部分之外的根目录上,创建一个文件夹(例如将其命名为myyiiapp)并将所有应用程序文件放在那里。

  2. 将/ web内容移至www / yiiproj文件夹,即可下载目录。

  3. 更新web / index.php(现在位于www / yiiproj / index.php)文件,指向yii应用程序的正确相对目录,你应该好好去。对于基本应用,您需要将以下3行编辑为类似的内容。

    require(__DIR__ . '/../myyiiapp/vendor/autoload.php');
    require(__DIR__ . '/../myyiiapp/vendor/yiisoft/yii2/Yii.php');
    
    $config = require(__DIR__ . '/../myyiiapp/config/web.php');
    
  4. 高级应用

    如果您使用Yii高级应用程序,前端和后端可以单独移动而不保留相关路径。

    1. 按照上述情况执行步骤1.
    2. 将/ frontend / web移至文件夹www / yiiproj,将/ backend / web移至另一个文件夹www / yiiadmin(etc)。
    3. 更新web / index.php文件以指向正确的相关路径。以下8行应在配置文件中相应更新

      require(__DIR__ . '/../../vendor/autoload.php');
      require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');
      require(__DIR__ . '/../../common/config/bootstrap.php');
      require(__DIR__ . '/../config/bootstrap.php');
      
      $config = yii\helpers\ArrayHelper::merge(
          require(__DIR__ . '/../../common/config/main.php'),
          require(__DIR__ . '/../../common/config/main-local.php'),
          require(__DIR__ . '/../config/main.php'),
          require(__DIR__ . '/../config/main-local.php')
      );
      
    4. 哲学

      这是yii应用程序的最佳/预期方法,因为它保护对源代码的任何类型的远程访问,并且所有公共内容已经在/ web部分中,可以安全下载。

      Yii2非常分离,您可以制作自定义应用,在公共可访问区域中可能有10个网络目录。每个web / index.php文件指向相同的供应商目录(只需要一个yii安装),相同的配置文件(如果您只需要不同的html)或个性化配置文件(如果app具有相同的数据库但通常具有不同的控制器集) )