Угловой маршрут по умолчанию перестал работать, когда я перешел с Linux на хостинг Windows - PullRequest
0 голосов
/ 13 марта 2019

tl; dr:

Когда кто-то посещает mywebsite.com , маршрут по умолчанию должен перенаправляться на mywebsite.com / about .Это не работает, и мой компонент не загружается в роутер.

Длинная версия:

Я недавно переключился с хостинга Linux на хостинг Windows.В качестве первого шага я загрузил свой сайт-портфолио, который является чистым приложением Angular / Typescript.

Этот сайт отлично работал на Linux, но в Windows маршрут по умолчанию, похоже, перестал работать.Вот маршруты:

const appRoutes: Routes = [
  { path: '', redirectTo: 'about', pathMatch: 'full' },
  { path: 'about', component: HomeComponent },
  { path: 'skills', component: SkillsComponent },
  { path: 'interests', component: InterestsComponent }
];

А вот мой файл .htaccess (который я должен использовать на своем хосте Windows, поскольку там не установлен модуль перезаписи IIS):

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

RewriteRule ^(.*) /index.html [NC,L]

Итак, как я уже сказал: маршрут по умолчанию (около) не загружается при посещении моего веб-сайта.Как только я нажимаю на любой из маршрутов (через навигационную панель), они загружаются правильно.Обновление их с помощью F5 также работает.

Я ничего не знаю о RewriteRules или о том, могу ли я решить эту проблему с помощью специального правила.

1 Ответ

0 голосов
/ 13 марта 2019

Позор мне: Как часто я решал проблему после публикации на SO.

Мой поставщик хостинга Windows применяет базовый файл web.config для каждого приложения, которое я хочу разместить.Поэтому у меня был файл web.config в корне IIS и дополнительный файл web.config & .htaccess в каталоге веб-сайта.

Я исправил проблему, удалив все файлы web.config (оба изкорень домена и каталог веб-сайта) и только оставляя файл .htaccess внутри каталога веб-сайта.

...