Ich baue eine App in React und aufgrund des Layouts/Status der App kann ich React Router nicht verwenden und daher History JS verwalten Seitennavigation. In meinem äußeren meisten Container habe ich Setup die folgende Code-Navigation zu verwalten:Verlauf JS/.htaccess - Schreibe alles in den Index, aber behalte den Pfad
handlePageChange = (event) => {
//stop default page change
event.preventDefault();
const history = createHistory()
if(typeof(event.target.tagName) === "undefined") {
var newURL = window.location.pathname;
} else {
var newURL = event.target.getAttribute('href');
history.push(newURL)
}
this.setState({
activePage:newURL.replace('/','')
})
setTimeout(function(){
this.setState({
sideNavState:""
})
}.bind(this),300)
}
Der obige Code funktioniert gut für die Navigation Seiten, aber ich habe ein Problem, wenn es direkt auf den Link für den Zugriff kommt. Wenn ich zum Beispiel versuche, auf mysite.com/page1 zuzugreifen, bekomme ich eine angeforderte URL, die auf diesem Server nicht gefunden wird, weil ich keine Seiten eingerichtet habe, da sie vom Status der Apps gesteuert werden.
Ich möchte, dass alle Seiten (mysite.com/page1, mysite.com/page2 etc ..) auf die gleiche index.html Datei zeigen, die im root liegt, also was wäre der richtige Ansatz dafür? Ich habe die folgende .htaccess umschreiben Bedingungen verwendet, aber ist ein bisschen mit dem hat beteiligt Syntax verloren so nicht in der Lage gewesen, um es an der Arbeit:
RewriteEngine On
RewriteRule ^(.+)\.php$ index.html?page=$1 [L,QSA,NC]
Auch bin ich hier für die Seitennavigation des richtigen Ansatz Ich versuche zu erreichen? Beachten Sie, dass ich dieses Problem nur bekomme, wenn ich meine App host und auf localhost verhält, wie ich es will.
Danke!
Unsicher von der richtigen Vorgehensweise in htaccess (jemand anderes wird sicherlich antworten), aber Sie möchten alle zurück in Ihre index.html Wildcard, so dass das Front-End alle Routing verarbeiten kann. – SamHH
Dies ist eine sehr verwirrte Frage. Ich bin mir nicht sicher, worüber du fragst? Ist es reagieren, PHP, Htaccess, was? Was genau willst du und was genau funktioniert nicht? Ich denke, das könnte eine [XY-Frage] sein (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Ihr * fragt nach Ihrem Lösungsversuch und nicht nach Ihrem eigentlichen Problem. * – Liam
Ja Samhh, das ist richtig, ich wollte den Pfad auch beibehalten können ... –