Цель: охватить http://localhost:3000/test.html?test=5.
Проблема: при запуске в режиме разработки и до сборки я могу получить доступ к http://localhost:3000/test.html?test=5 просто отлично. Однако после запуска «сборки реагирующих сценариев» при переходе на http://localhost:3000/test.html?test=5, страница будет перенаправлена на http://localhost:3000/test с кодом состояния 301 Перемещено навсегда.
App.js
import React from 'react';
import { BrowserRouter as Router, Route, Link } from "react-router-dom";
import Test from "./Test";
function App() {
return (
<React.Fragment>
<Router>
<Route path="*" component={Test} />
</Router>
</React.Fragment>
);
}
export default App;
Test.js
import React, { Component } from 'react';
class Test extends Component {
render() {
return (
<React.Fragment>
<h1>{this.props.location.pathname+this.props.location.search}</h1>
</React.Fragment>
);
}
}
export default Test;
Я считаю, что это как-то связано с URL-адресом, содержащим «.html?». Когда я пытаюсь перейти на 'http://localhost:3000/test.html/test=5', он отлично работает, но как только вы попробуете 'http://localhost:3000/test.html?test=5', он будет перенаправлен на 'http://localhost:3000/test'
Я создал демонстрацию проблемы, если кто-то хочет ее проверить. Демо