Я пытаюсь развернуть свой код на Apache. Я использую react router 4 и connected react router с create react app.
Приложение развертывается во вложенном каталоге, например: http://example.com/pathTo/myApp.
Есть 2 необязательных параметра. Когда используется первый, он работает нормально. Когда есть дополнительный параметр, возникает ошибка.
Uncaught SyntaxError: Unexpected token < 1.9adc2a7a.chunk.js:1
package.json
...
"homepage": ".",
...
store.js
export const history = createHistory({
basename: "/pathTo/myApp",
})
index.js
render(
<Provider store = {store}>
<ConnectedRouter history = {history}>
<Switch>
<Route path = {`/:viewType?/:viewID?`} component = {App} />
<Redirect from = "*" to = "/about" />
</Switch>
</ConnectedRouter>
</Provider>,
target
);
.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /pathTo/myApp/index.html [L]
</IfModule>
Любая помощь или предложения очень приветствуются.
К сожалению, нет. Самое дальнее, что я получил, - это установка base href в index.html на базовый URL-адрес, что позволило параметрам URL-адреса работать при начальной загрузке, но все же не перезаписать URL-адрес правильно.
Хммм - должен быть способ сделать это, иначе любой, у кого есть блог или что-то в этом роде, с динамическим контентом, не сможет им поделиться.
Я согласен, я хочу решить эту проблему. У меня просто не хватило времени, и, поскольку это не было требованием проекта, я решил развернуть его как есть.
Оборачивая свое приложение в import { HashRouter } from 'react-router-dom';, чтобы <HashRouter><app /></HashRouter>, я, наконец, заставил это работать - уродливые URL-адреса, но цена, которую мне стоит заплатить, - может обновлять динамические страницы на сервере Apache, и маршрутизация работает, если вам это нравится, товарищ
Ах хорошо. Не уверен, что смогу пойти по этому пути, поскольку я уже использую хешированные параметры w / mapbox-gl в своем приложении. Таким образом параметрируются широта, долгота и масштаб. Например, http://example.com/pathTo/myApp/property/219?layers=buildings#34.44/23.233/7
Я ответил на аналогичный вопрос здесь. Может, это поможет.





Вы когда-нибудь находили на это ответ? Я как раз собирался задать аналогичный вопрос.