Я использую маршрутизацию angularjs в своем веб-приложении, и я включил $ locationProvider и базовый тег в HTML-заголовке, который является <base href="/webapp/">
, чтобы удалить хеш-символ в URL-адресе, он отлично работает когда я перенаправляю с помощью якорных тегов, например <a href="/webapp/home">Home</a>
но дает ошибку 404 при перенаправлении с помощью javascript, например window.location.href= '/webapp/home';
, Пробовал все, но пока ничего, никакая помощь будет высоко оценена. Заранее спасибо.
Попробуйте: <a href="#/webapp/home">Home</a>
При использовании угловой (JavaScript) маршрутизации; Маршрутизация JavaScript начинается после #
ключевого слова в URL-адресе, другой мудрый браузер считает, что это триггер маршрутизации на стороне сервера; или страница будет обновляться.
ИСПОЛЬЗОВАНИЕ: <a href="#/webapp/home">Home</a>
$ locationProvider удалит #
после перенаправления на представление.
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ %{ENV:BASE}index.htm [QSA,L]