Веб-сервер apache переписывает пути, удаляя доменную часть (/path вместо http://IP-адрес:порт/путь)

У меня есть несколько проектов angularjs, которые я обслуживаю через веб-сервер apache. Все они находятся в разных папках на одном уровне, поэтому я просто хотел использовать веб-сервер apache. Я перемещаюсь между проектами с помощью поля со списком и кнопки. Затем выбор сопоставляется с парой ключ-значение из массива json. value - это просто путь к index.html выбранного проекта

Однако иногда (случайно) он переходит к project2/dist/index.html вместо: http://10.0.1.27:8090/project2/dist/index.html

и я получаю DNS_PROBE_FINISHED_NXDOMAIN или ERR_NAME_NOT_RESOLVED в браузере (хром)

Когда я указываю полный URL-адрес вместо пути, то случайно происходит что-то еще: иногда он пытается перейти (внимание двоеточие ':' после http) http//10.0.1.27:8090/project2/dist/index.html

Редактировать: Навигационная часть:

html Сторона

      <div class="dropdown">
        <div>
          <div class="col-lg-6">
            <div class="col-lg-3">
              Report
            </div>
            <div class="col-lg-3">
              <select  style="width:150px" id="urlListCombobox">
                <option value="">--Select--</option>
                <option ng-repeat="(key, value) in urlList" value="{{key}}">{{value}}</option>
              </select>
            </div>
          </div>
          <div style="float: right;margin-right: 30px;">
            <button  type="button"  style="min-width: 100px;"  class="btn btn-primary pull-right" ng-click="redirectUrl()">Get Report</button>
          </div>
        </div>
      </div>

Сторона Javascript

$scope.urlList = {
  "/project1/dist/index.html" : "Project 1",
  "/project2/dist/index.html" : "Project 2",
  "/project3/dist/index.html" : "Project 3",
  "/project4/dist/index.html" : "Project 4",
  "/project5/dist/index.html" : "Project 5"
};

$scope.redirectUrl= function(){
  var url = $("#urlListCombobox").val();
  if(url != 0){
    window.location=url;
  }
}

Любая идея, почему это может произойти? Любые комментарии приветствуются.

Недавно мне нужно было «Перезаписать» с файлом .htaccess. После этого я просматриваю увеличение случаев. Я также обновил файл httpd.conf из

<Directory />
    AllowOverride None
    Require all denied
</Directory>

to

<Directory />
    AllowOverride All
    # Require all denied
</Directory>

Проблема в перезаписи? Кто-нибудь знает о таком баге апача?

Заранее спасибо.


person Sedat Kestepe    schedule 23.06.2017    source источник
comment
Случайно да? Может быть, космические лучи поражают ваш клиентский компьютер, вызывая мутацию строк? Если серьезно, вы должны отредактировать свой вопрос, чтобы показать нам свой код html и js для запуска и, возможно, .htaccess.   -  person James    schedule 23.06.2017
comment
Ха-ха! :D... Честно говоря, сейчас я читаю, что такое файл .htaccess. Я также обновлю свой вопрос после прочтения об этом.   -  person Sedat Kestepe    schedule 23.06.2017


Ответы (1)


Так что это был результат чистой невнимательности, а не чего-то связанного с apache :)

Одно мое изменение два месяца назад привело к дублированию функции.

$scope.redirectUrl= function(){
      var url = $("#urlListCombobox").val();
      if(url != 0){
        window.location=url;
      }
    }

Дублирующая функция ниже была выбрана браузером (по какой причине я не знаю) случайным образом.

$scope.redirectUrl= function(){
      var url = $("#urlListCombobox").val();
      if(url != 0){
        location.replace("http://" + url)
      }
    }

Удаление дубликата решило проблему.

person Sedat Kestepe    schedule 28.07.2017