Подтвердить что ты не робот

Angular Режим HTML5, маршрутизатор будет в противном случае указывать на перезагрузку страницы

Я пытаюсь удалить хэш-тег с моего сайта. Я достиг этого, следуя коду.

$locationProvider.html5Mode(true);

Также добавлен базовый URL-адрес в индексном файле.

Моя проблема в том, что я нахожусь в состоянии contct-us после перезагрузки всей страницы. Я перенаправляюсь в исходное состояние, которое определяется как состояние состояния.

Используемая конфигурация -

server -Appache база данных - mysql

Я добавил следующий код в .htaccess для правила перезаписи -

     RewriteEngine On
     php_value post_max_size 120M 
    php_value upload_max_filesize 120M 
     php_value max_execution_time 90 



     RewriteCond %{HTTP_HOST} ^54\.201\.153\.244$ [NC,OR]

     RewriteCond %{HTTPS} off
     RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

      RewriteCond %{HTTP_HOST} ^adkarlo.com$ [NC]
        RewriteRule ^(.*)$ https://www.adkarlo.com/$1 [R=301,L]

      #RewriteBase /html/
      ErrorDocument 404 /404.php

    RewriteCond %{REQUEST_FILENAME} -f
     RewriteRule ^ - [L]
   RewriteRule ^(.*)$ index.php [L]

Ожидаемый результат - после перезагрузки из состояния свяжитесь с нами на любой странице, на которой я хочу перейти на ту же страницу.

4b9b3361

Ответ 1

Чтобы поддерживать перезагрузку URL-адресов маршрута в режиме HTML5, вам необходимо реализовать переписывание URL-адресов на стороне сервера, чтобы напрямую направлять нефайловые запросы (то есть запросы, которые явно не указаны для существующего файла) в ваш индексный файл, обычно index.html.

Из документации

Использование этого режима требует перезаписи URL-адресов на стороне сервера, в основном вы должны переписать все свои ссылки на точку входа вашего приложения (например, index.html).

Ваше правило перезаписи не должно содержать # в целевом URL. Вместо этого используйте

RewriteEngine on

# Don't rewrite files
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

# Rewrite everything else to index.html to allow html5 state links
RewriteRule ^ index.php [L]

Источник ~ https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-work-with-html5mode

Кроме того, нет необходимости устанавливать RewriteBase.