У меня есть Угловое приложение, которое использует PHP для API и немного для интерфейса.Угловое приложение от Apache
Маршрут стал невозможным; возвращаются только маршруты первого уровня.
Моя структура выглядит следующим образом:
- /app/index.html
- /приложение/скрипты/[все угловые файлы]
- /приложение/просмотр/[все PHP-синтаксический анализ HTML-файлы ]
- /приложение/API/[приложение PHP файлы]
Router (Угловое):
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'
});
файл 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, он перенаправляет/дома и работает отлично. Когда я получаю доступ/user? Id = 1, он также отлично работает. Но если я получаю/user/1, то загружается только основной HTML-файл, обрабатываемый php, но все зависимости (скрипты, css, все остальное) просто возвращают один и тот же основной файл HTML, что приводит к сбою.
Я видел manyStackOverflowresponses и до сих пор я не смог ничего исправить ...
Может кто-нибудь помочь мне сделать маршрутизации случиться?
В самом деле я этого не делаю. Я просто ожидаю, что Apache переведет мой/пользователь/1 в/user? Id = 1, и Angular позаботится об этом – Jago
Моя ошибка, я вижу, что вы сейчас спрашиваете. Есть ли причина, по которой вам нужно добавить это на уровне Apache httpd? Вы можете настроить несколько угловых маршрутов для использования одного и того же обработчика. Удачи. – scottseeker
AFAIK Apache пытается позаботиться о любом маршруте, который находится глубже 1 уровня, прежде чем Angular сможет справиться с этим. Так что/пользователь работает, но/user/1 нет. Или, по крайней мере, это то, что, кажется, происходит здесь. Вот почему я должен сказать Apache перевести маршруты на 1 уровень глубины. Либо это, либо просто скажите Apache, чтобы НЕ РУЧИТЬ любой маршрут в vhost. – Jago