我有一个 Angular app ,它使用PHP作为API,还有一点点用于前端。
路由已成为不可能;只返回第一级路线。
我的结构如下:
路由器(Angular):
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文件,因此失败。
我看过many StackOverflow responses,到目前为止,我还无法解决任何问题......
有人可以帮我做路由吗?
答案 0 :(得分:0)
您似乎没有/ user / 1的路由。尝试像
这样的东西.when('/user/:userId')
查看angular文档中的示例:https://docs.angularjs.org/api/ngRoute/service/$route#example