angularjs – “base href”使用ui-router在路由URL中添加目录路
摘要:
使用< 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等 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |