加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – “base href”使用ui-router在路由URL中添加目录路

发布时间:2020-12-17 06:59:12 所属栏目:安全 来源:网络整理
导读:摘要: 使用 base href =“/ prod / public /”/,它在路由URL e.x中添加了目录路径. http://www.example.com/prod/public/home 我的角度应用程序托管在prod / public目录中. 在我的public / index.html中: base href="/prod/public/" / 我的路线是这样的:
摘要:

使用< base href =“/ prod / public /”/>,它在路由URL e.x中添加了目录路径. http://www.example.com/prod/public/home

我的角度应用程序托管在prod / public目录中.

在我的public / index.html中:

<base href="/prod/public/" />

我的路线是这样的:

$stateProvider
     .state('home',{
      url: '/home',templateUrl: function($stateParams) {
          var path = 'app/users/views/home.html';
          return path;
      },controller: 'HomeCtrl'
})

目录结构:

public_html
      -.htaccess
      - other folders
      - prod
           - public
                - app
                - index.html
           - bower.json
           - .htaccess
           - package.json
           - gulpfile.js
           - Readme.md

.htaccess里面的prod目录:

RewriteEngine On
Options -Indexes
RewriteCond %{HTTP_HOST} ^example.com$[NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ public/index.html [L]

以下是我在模板中引用状态的方法:

<a ui-sref='home'>Go to home</a>

点击此链接后,它会重定向到此网址:http://www.example.com/prod/public/home

要求:

url应该是http://www.example.com/home而不是http://www.example.com/prod/public/home

解决方法

< base href =“/ prod / public /”/>在角度路由中,不是设置文件根目录/掩码网址,而是在HTML5模式下使用定义的URL预先添加URL.

定义路由时,例如/ home angular会将URL正确设置为/ prod / public / home.如果您希望您的网址没有该文件夹结构,那么您需要将文件放在根目录中(特别是在共享主机的情况下)或更改Nginix / Apache Document根设置以指向正确的路径.然后,您可以设置将您的网址读取为/ home等

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读