У меня есть сайт, созданный с реакцией, который использует реагирующий маршрутизатор. Для какого-то маршрута я хочу обслуживать другую страницу или статический файл, но поскольку все запросы перенаправляются на реагирующий маршрутизатор, он не работает.
например
www.myapp.com/sitemap.xml
www.myapp.com/something.html
^ эта ссылка работает в первый раз, но как только я загружаю сайт, он не работает, так как все запросы проходят через маршрутизатор реакции.
Любое решение, чтобы оно работало постоянно. Благодаря.
Изменить
Я использую сервер Apache, который настроен на перенаправление всех запросов в index.html, я думаю, что это причина такого поведения. Это моя конфигурация, но я не знаю, как это исправить.
Options -MultiViews
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
Обновление Я попробовал решение, предложенное в ответе.
мои маршруты выглядят так: для чего-то. я загружаю компонент ServerLoad
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/about" component={About} />
<Route path="something.html" component={ServerLoad} />
<Route component={NoMatch} />
</Switch>
В компоненте ServerLoad функция componentDidMount я сделал это. Но это не работает.
componentDidMount() {
window.location.reload(true);
}
Больше Я настроил этот проект с помощью create-реагировать на приложение и обслуживать его на экспресс-сервере (как это). Я не уверен, если мне нужно сделать некоторые настройки для сервера других статических файлов.