Angularjs 外部页面和路由

Angularjs 外部页面和路由,angularjs,apache,mod-rewrite,Angularjs,Apache,Mod Rewrite,我在mysite.com/somedir/script.PHP上有一个PHP页面 当我在Angular视图中有指向此脚本的标记时,Angular的路由总是在我单击它们时将我带回mysite.com/index.html 这是我的$routeProvider配置: siteModule.config(function($routeProvider, $locationProvider) { $routeProvider .when('/', { te

我在mysite.com/somedir/script.PHP上有一个PHP页面

当我在Angular视图中有指向此脚本的
标记时,Angular的路由总是在我单击它们时将我带回
mysite.com/index.html

这是我的
$routeProvider
配置:

siteModule.config(function($routeProvider, $locationProvider) {
    $routeProvider
        .when('/', {
            templateUrl:'/views/blog.html',
            controller:'blogController'
        })
        .when('/blog',{
            templateUrl:'/views/blog.html',
            controller:'blogController'
        })
        .when('/work',{
            templateUrl:'/views/work.html',
            controller:'workController'
        });
    // For Pretty URLs
    $locationProvider.html5Mode(true);
});
我还使用一些Apache
mod_rewrite
来处理.htacess文件中的404s/页面刷新,我认为这可能会造成干扰:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) index.html [L]
前面提到的PHP页面是一个有效的(现有)资源,所以我不确定Angular或Apache为什么会重定向/重写它。我在
标记上使用
target=“\u blank”
,并在索引页的
标记中设置


我只是希望能够正常访问我的脚本,而不是被指向索引页

在javascript中,您仍然可以使用
window.location.href
退出路由器,因此在路由器的“否则”部分,使用
window.location.href
={the route}而不是允许它使用默认索引。

请参阅此问题的其他答案:


请发布一个链接无效的
锚定示例。