Roh*_*dal 6 .htaccess base-tag angularjs angular-ui-router ui-sref
摘要:
使用时<base href="/prod/public/" />
,它会在路由URL中添加目录路径e.x.
http://www.example.com/prod/public/home
我的角度应用程序托管在prod/public
目录中.
在我的public/index.html
:
<base href="/prod/public/" />
Run Code Online (Sandbox Code Playgroud)
我的路线是这样的:
$stateProvider
.state('home', {
url: '/home',
templateUrl: function($stateParams) {
var path = 'app/users/views/home.html';
return path;
},
controller: 'HomeCtrl'
})
Run Code Online (Sandbox Code Playgroud)
目录结构:
public_html
-.htaccess
- other folders
- prod
- public
- app
- index.html
- bower.json
- .htaccess
- package.json
- gulpfile.js
- Readme.md
Run Code Online (Sandbox Code Playgroud)
.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]
Run Code Online (Sandbox Code Playgroud)
以下是我在模板中引用状态的方法:
<a ui-sref='home'>Go to home</a>
Run Code Online (Sandbox Code Playgroud)
点击此链接后,它会重定向到此网址: http://www.example.com/prod/public/home
要求:
网址应该http://www.example.com/home
代替http://www.example.com/prod/public/home
角度路由<base href="/prod/public/"/>
不是设置文档根目录/屏蔽 url,而是在 HTML5 模式下使用定义的 url 来添加 url。
当您定义路线时,例如/home
Angular 会将 URL 正确设置为/prod/public/home
。如果您希望 URL 没有该文件夹结构,那么您需要将文件放在根目录中(特别是在共享托管的情况下)或更改 Nginix / Apache 文档根设置以指向正确的路径。然后你可以设置这将使你的网址读取为 /home 等
归档时间: |
|
查看次数: |
6780 次 |
最近记录: |