3 Stimmen

Problem mit URL-Rewrite (Relative Pfade funktionieren nicht)

Ich verwende eine .htccess-Datei, um meine URLs umzuschreiben. Ich verwende die folgenden Regeln in meinen .htaccess-Dateien

Options +FollowSymlinks
RewriteEngine on 
RewriteBase /
RewriteRule ^product/([0-9]+)/([A-Za-z0-9+]+)$ /product.php?productid=$1&prodname=$2

Die Neufassung hat gut funktioniert.

Aber wenn ich versuche, auf eine andere Seite über einen relativen Pfad zuzugreifen, was in allen Fällen der Fall ist, wird die URL nicht richtig umgeleitet.

Wie im folgenden Beispiel

<form action "something.php" method="post">
   <input type="text" name="1" />
   <input type="submit" value="submit" />
</form>

Wenn ich auf "Absenden" klicke, wird die folgende Seite geladen http://mydomain/product/1/something/something.php die nicht existiert und daher einen 404-Fehler auslöst

Ich habe versucht, den Basis-Tag im Kopf zu verwenden, aber das schafft Probleme, wenn ich Seitenanker und modale Fenster verwende. Es wird auf die Indexseite umgeleitet.

Bitte lassen Sie mich wissen, wenn Sie weitere Einzelheiten wünschen.

Ich bin ziemlich neu auf diesem Gebiet. Also, könnte mir bitte jemand dabei helfen?

Vielen Dank im Voraus, Kartik

3voto

Gumbo Punkte 617646

Dies ist ein Problem der URL-Auflösung. Siehe mod_rewrite URL-Informationen erforderlich für Einzelheiten.

Sie können entweder absolute URL-Pfade oder absolute URLs verwenden:

<form action="/something.php" method="post">
<form action="http://example.com/something.php" method="post">

Oder Sie ändern die Basis-URL (siehe BASE HTML-Element ), so dass jede relative URL von dieser URL und nicht von der aktuellen URL aufgelöst wird:

<base href="http://stackoverflow.com/">
<base href="http://example.com/">

0voto

Alister Bulman Punkte 33148

Die kurze und einfache Version der Lösung dieses Problems ist es, absolute-Pfad Ihre URLs - /something.php in der Form Aktion, nicht nur "etwas.php".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X