我已经浏览了论坛上关于 AngularJS 路由的 URL 重写的所有帖子。我想摆脱我的 URL 中的哈希,我可以,但是在刷新时我仍然得到一个 404 错误。我的托管服务提供商安装了 IIS,并且他们有一些关于如何在文件中编写规则的iirf.ini
文档。大多数时候它类似于htacces
文件(尽管过去我有些头疼,因为它们的文档已经过时且非常基本)而且我远非重写专家(我大部分时间只是复制/粘贴)。他们描述了如何为 Magento、Joomla 等做这件事。
但是现在我完全感到沮丧,因为当我使用 AngularJS 路由并且在刷新页面时没有 404 时,我似乎无法让 url 重写工作。
有人曾经iirf.ini
用 AngularJS 路由系统编写过用于 URL 重写的文件吗?是否有不同的解决方案来重写 URL,而不依赖于服务器端重写和刷新没有得到 404 错误。伙计,我正在认真考虑离开这个托管服务提供商。这是我现在正在尝试做的事情,它摆脱了#
,但刷新会出现错误:
HTML
<base href="/" />
JS
.config(['$routeProvider','$locationProvider', function ($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: 'partials/home.html',
})
.when('/opleidingen', {
templateUrl: 'partials/opleidingen.html'
})
.when('/vaardigheden', {
templateUrl: 'partials/vaardigheden.html'
})
.when('/over', {
templateUrl: 'partials/over.html'
})
.otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(true);
}
iirf.ini
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /index.html/#/$1