【发布时间】:2015-12-15 23:17:37
【问题描述】:
我有一个 Angular 应用程序,它使用 PHP 作为 API 和一点前端。
路由已成为不可能;只返回一级路由。
我的结构如下:
- /app/index.html
- /app/scripts/[所有角度文件]
- /app/views/[所有 PHP 解析的 HTML 文件]
- /app/api/[app PHP 文件]
路由器(角度):
angular.module('MyApp')
.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when('/', {redirectTo: '/home'})
.when('/home', {
templateUrl: 'views/mainview.php?sec=home',
controller: 'HomeCtrl'
})
.when('/user', {
templateUrl: 'views/mainview.php?sec=user',
controller: 'ProfileCtrl'
});
vhosts Apache 文件
<VirtualHost 127.0.0.2:80>
DocumentRoot "M:/site/app"
# names and emails commented out
</VirtualHost>
.htaccess
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^/user/([0-9]+)$ /user?user=$1
</IfModule>
当我访问 127.0.0.2 时,它会重定向到 /home 并且工作正常。 当我访问 /user?id=1 时,它也可以正常工作。 但是,如果我检索 /user/1,则只会加载主 php 解析的 HTML,但所有依赖项(脚本、css 等)只会返回相同的主 HTML 文件,因此会失败。
我见过manyStackOverflowresponses,到目前为止我还没有解决任何问题......
谁能帮我实现路由?
【问题讨论】: